- requests库常用方法
- 获取响应内容
- 设置超时
一、Request库的常用方法
(一)requests.request(method,url,**kwargs)
method:常用的有
get
、post
、put
、delete
、head
、options
url:请求的URL
**kwargs:13个控制访问的可选参数
可选参数如下:
参数名 | 支持类型 | 描述 |
---|---|---|
params | 字典、字节序列 | 以键值对的方式作为参数加入到URL中 |
data | 字典、字节序列、文件 | 作为请求的Body内容 |
json | JSON格式的数据 | 作为请求的Body内容 |
headers | 字典 | HTTP请求头,作为请求对象Header里的内容 |
cookies | 字典或CookieJar | 请求中的Cookie |
files | 字典,形式为{filename,fileobject} | 提交传递文件 |
auth | Auth句柄或(user,pass)元组 | |
timeout | 浮点数、元组 | 超时时间 |
allow_redirects | True/False | 重定向开关 |
proxies | 字典 | 将协议映射为代理的URL |
verify | True/False | 认证SSL证书开关 |
stream | True/False | 默认为True,为True会先下载响应头,为False会立即下载响应头和响应体 |
cert | 字符串、元组 | 为字符串时是SSL客户端证书文件的路径,为元组时是一个(‘cert’,’key’)二元值对 |
(二)request.get(url,params=None,**kwargs)
请求获取URL的资源
(三)request.head(url,**kwargs)
请求获取响应的头部信息
(四)request.post(url,params=None,json=None,**kwargs)
请求向URL的资源后附加数据
(五)request.put(url,data=None,**kwargs)
请求向URL位置存储一个资源,覆盖原URL位置的资源
(六)request.patch(url,data=None,**kwargs)
请求局部更新URL位置的资源
(七)request.delete(rul,**kwargs)
请求删除URL位置的资源
二、响应
1 | # 状态码 |
如果HTTP请求返回了不成功的状态码,那么req.raise_for_status()
会抛出一个HTTPError
三、超时
默认情况下,requests不会自动进行超时处理。连接超时指的是客户端到服务端的连接时,request会等待的秒数。读取超时指的是客户端等待服务器发送请求的时间。
1 | # 第一种方式,单独设置超时时间,包括连接和读取 |