requests模块的请求失败自动重试设置和设置等待时间

requests模块的请求失败自动重试设置和设置等待时间,第1张

各位看官老爷,要是觉得满意的话就给我点个赞吧,本片文章是本人随手写的笔记,希望对各位能有帮助,文章没有废话,只讲重点:

1.requests的重试

平时,我们的requests模块有可能会因为各种原因请求失败,比如因网络原因,或者服务器暂时没响应,等等原因,这时,我们应该设置重试次数让程序失败的时候重新请求,具体方法如下

1.导入requests模块 import requests

2.导入from requests.adapters import HTTPAdapter

2调用requests的Session()方法

r = requests.Session()

r.mount('https://',HTTPAdapter(max_retries=3))#里面的max_retries是重试次数

设置好后,我们就可以发起一个自动失败后可以重试的请求了比如get,和post请求请求

r.get(url="http://xxxx")

r.get(url="http://xxx"data=xxx)

可以看出,和平时的requests使用方法无异

2.requests等待时间

requests模块是会默认一个等待时间的,有时候会很长,我们并不希望我们的程序等待响应太长时间那样子程序效率太低了

requests.get('http://xxxx', timeout=0.001)#其中的timeout就是等待的时间,超出这个时间,程序将不再等待。

网络超时,属于网络故障可以先重启路由器或者拨打电信局电话维修。

网络连接超时可能的原因有:

1、网络断开,不过经常显示无法连接。

2、网络阻塞,导致你不能在程序默认等待时间内得到回复数据包。

3、网络不稳定,网络无法完整传送服务器信息。

4、系统问题,系统资源过低,无法为程序提供足够的资源处理服务器信息。

5、设备不稳定,如网线松动、接口没插好等等。

6、网络注册时系统繁忙,无法回应。

7、网速过慢,如 使用BT多线程下载,在线收看视频等大量占用带宽的软件 ,若使用共享带宽还要防范他人恶意占用带宽。

8、计算机感染了恶意软件,计算机病毒,计算机木马等。

解决方法:

1、检查网线 更换接口。

2、在早上上网人数少的时候注册。

3、使用加速软件,如果要下载东西尽量在没有网络使用需求情况下载。

4、杀毒。

5、如果使用网卡,可以更换一下网卡。

在使用 terms 进行批量 search 查找时,有时候会出现timeout超时问题, es默认的查询超时时间是10s。

可以在search时指定 request_timeout 参数

设置20秒查询超时的示例如下:


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11549956.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存