requests所有功能都能通过"requests/api.py"中的方法访问。它们分别是:
- requests.request(method, url, **kwargs)
- requests.get(url, params=None, **kwargs)
- requests.options(url, **kwargs)
- requests.head(url, **kwargs)
- requests.post(url, data=None, json=None, **kwargs)
- requests.put(url, data=None, **kwargs)
- requests.patch(url, data=None, **kwargs)
- requests.delete(url, **kwargs)
除了requests.request()外,其余7个方法与http协议中的请求方法一一对应。阅读源码后,不难发现,这7个方法其实都是在调用requests.request()方法,所以了解requests.request()方法提供了哪些参数就变得至关重要了。
参数 | 解释 |
method | 各种方法,比如get、options、head、post、put、patch、delete,当然也支持自定义扩展 |
url | 请求的url |
params | 请求携带的params |
data | 请求body中的data |
json | 请求body中的json格式的data |
headers | 请求携带的headers |
cookies | 请求携带的cookies |
files | 上传文件时使用 |
auth | 身份认证时使用 |
timeout | 设置请求的超时时间,可以设置连接超时和读取超时 |
allow_redirects | 是否允许重定向,默认True,即允许重定向 |
proxies | 设置请求的代理,支持http代理以及socks代理(需要安装第三方库"pip install requests[socks]") |
verify | 用于https请求时的ssl证书验证,默认是开启的,如果不需要则设置为False即可 |
stream | 是否立即下载响应内容,默认是False,即立即下载响应内容 |
cert | 用于指定本地文件用作客户端证书 |
那么发送请求时,我们可以根据自身需求去组合上述的参数。在调用requests.request()方法之后,会返回一个requests.Response对象供大家使用,关于Response的用法,请移步python之requests模块-Response查看。
参考文档