Python requests.post()超时设置

requests.post(),默认是阻塞的,除非显式指定了 timeout 值,否则不会做超时处理。

参数值

参数 描述
url 必须。请求的网址
data 可选。字典,元组列表,字节或要发送到指定URL的文件对象
json 可选。要发送到指定URL的JSON对象
files 可选。要发送到指定URL的文件字典
allow_redirects 可选。用于启用/禁用重定向的布尔值。
默认True(允许重定向)
auth 可选。用于启用某种HTTP身份验证的元组。
默认None
cert 可选。指定证书文件或密钥的字符串或元组。
默认None
cookies 可选。要发送到指定网址的Cookie字典。
默认None
headers 可选。要发送到指定网址的HTTP标头字典。
默认None
proxies 可选。URL代理协议字典。
默认None
stream 可选。如果响应应立即下载(False)或流式传输(True)的布尔指示。
默认False
timeout 可选。一个数字或一个元组,指示等待客户端建立连接和/或发送响应的秒数。
默认值None表示请求将继续,直到连接关闭
verify 可选。用于验证服务器TLS证书的布尔值或字符串指示。
默认True

 超时设定举例

1、值设为数字

requests.post(url, data = myobj, timeout=2.50)

解析:配置的 timeout=2.50 ,这个值是作为 connect 和 read 二者共用的 timeout 

2、值设为元组

requests.post(url, data = myobj, timeout=(3, 1))

解析:元组 timeout=(3, 1) ,第一个值为 connect连接超时时间,第二个值为 read 读取超时时间

名词解析

 1、connect 连接超时
指的是客户端request连接远端服务器端口的等待的时间。
连接超时一般设为比 3 的倍数略大的一个数值,因为 TCP 数据包重传窗口的默认大小是 3。

2、read 读取超时
指的客户端已经连接上服务器并且发送了 request 后,客户端等待服务器返回请求的时间。
一般指的是服务器发送第一个字节之前的时间。

来源:谷满满

物联沃分享整理
物联沃-IOTWORD物联网 » Python requests.post()超时设置

发表评论