requests
各种请求方式
requests.post(url)
requests.put(url)
requests.delete(url)
requests.head(url)
requests.options(url)
基本GET请求
response = requests.get(url)
response = requests.get(url?k1=v1&k2=v2)
data = {
'k1': 'v1',
'k2': 'v2'
}
response = requests.get(url)
print(response.text) 字符串类型
print(response.content) 二进制类型, params=data)
print(response.json())
print(json.loads(response.json())
获取二进制数据
response = requests.get(url)
print(response.text) 字符串类型
print(response.content) 二进制类型
with open ('文件名', 'wb') as f:
f.write(response.content)
f.close()
添加headers
headers = {
...
}
response = requests.get(url, headers = headers)
基本post请求
data = {
...
}
response = requests.post(url, data=data)
响应
response = requests.get(url)
print(type(response), response)
print(type(response.status_code), response.status_code)
print(type(response.text), response.text)
print(response.cookies)
print(response.url)
print(response.history)
文件上传
files = {'flie': open('文件名', 'rb')}
response = requests.post(url, files=files)
获取cookie
response = requests.get(url)
for key, value in response.cookies.items():
print(key+'='+value)
会话维持
s = requests.Session()
s.get('http://httpbin.org/cookies/set/number/123456')
response = s.get('http://httpbin.org/cookies')
print(response.text)
证书验证
verify默认为True
response = requests.get(url, verify=False)
print(response.status_code)
消除警告信息
from request.packages import urllib3
urllib3.disable_warnings()
response = requests.get(url, verify=False)
print(response.status_code)
使用本地指定证书
response = requests.get(url, cert=('/path/server.crt', '/path/key'))
代理设置
proxies = {
'http': 'http://ip:port',
'https': 'https://ip:port',
}
respponse = requests.get(url, proxies=proxies)
有密码的代理
proxies = {
'http': 'http://user:password@ip:port',
}
超时设置
response = requests.get(url, timeout=1)
认证设置
from requests.auth import HTTPBasicAuth
r = requests.get(url, auth=HTTPBasicAuth('user', 'password'))
异常处理
from requests.expections import ReadTimeout, ConnectionError, RequestException
try:
response = requests.get(url, timeout=0.5)
print(response.status_code)
except ReadTimeout:
print('Timeout')
expect ConnectionError:
print('Connection Error')
expect RequestException:
print('Error')
requests库用法
猜你喜欢
转载自blog.csdn.net/juyuyh/article/details/81088206
今日推荐
周排行