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 后,客户端等待服务器返回请求的时间。
一般指的是服务器发送第一个字节之前的时间。