Request库的主要方法
方法 | 说明 |
---|
get | requests.get(url,params=None,**kwargs),params:url 中的额外参数,字典或字节流格式,可选,**kwargs:12个控制访问的参数 |
head | 获取网页头信息 |
post | 提交post请求 |
put | 提交put请求,必须提交全部参数 |
patch | 提交局部修改请求,节省网络带宽 |
delete | 提交删除请求 |
kwargs参数介绍
参数 | 说明 |
---|
params | 字典或字节序列,作为参数增加到URL中 |
data | 字典、字节序列、或文件对象,作为request的内容 |
json | json格式数据,作为request的内容 |
headers | 字典,HTTP定制头 |
cookies | 字典或CookieJar, request中的cookie |
auth | 元组,支持HTTP认证功能 |
files | 字典类型传输文件 |
proxies | 字典类型,设置代理服务器 |
'auth示例'
auth = HTTPBasicAuth('app', 'app-password')
datas = {'grant_type': 'password'}
baseURL = 'http://@@.tech'
loginURL = baseURL+'/oauth/token'
result = requests.post(loginURL, data=datas, auth=auth, headers=token_header, verify=False)
'文件参数示例'
fs={'file':open('data.xls','rb)}
r=request.post(url,files=fs)
Response对象的属性
属性 | 说明 |
---|
r.status_code | 请求的返回状态,200表示成功,404表示失败 |
r.text | 响应内容的字符串形势 |
r.encoding | 从header中猜测的响应内容的编码方式,也可以用来改变页面的编码方式;如果header中不存在charset,则认为编码为ISO-8859-1 |
r.apparent_encoding | 从内容中分析出的编码方式 |
r.content | 响应内容的二进制形式 |
timeout | 设定超时时间,单位为秒 |
proxies | 字典类型,设定访问代理服务器 |
allow_redirects | True/False,默认True,重定向开关 |
stream | True/False,默认True,获取内容立即下载开关 |
verify | True/False,默认True,认证SSL证书开关 |
cert | 本地SSL证书路径 |
一些示例
auth = HTTPBasicAuth('app', 'app-password')
datas = {'grant_type': 'password'}
baseURL = 'http://@@.tech'
loginURL = baseURL+'/oauth/token'
result = requests.post(loginURL, data=datas, auth=auth, headers=token_header, verify=False)
fs={'file':open('data.xls','rb)}
r=request.post(url,files=fs)
Requests库的异常
异常 | 说明 |
---|
requests.ConnectionError | 网络连接错误异常 |
requests.HTTPError | HTTP错误异常 |
requests.URLRequired | URL缺失异常 |
requests.TooManyRedirects | 超过最大重定向次数,重定向异常 |
requests.ConnectTimeout | 远程连接超时异常 |
requests.Timeout | 请求URL超时 |
request().raise_for_status | 如果不是200,产生requests.HTTPError |