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秒查询超时的示例如下:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)