Python之requests模块-request api

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查看。

参考文档