当前位置:   article > 正文

【Bug】python requests发起请求,报“Max retries exceeded with url”

max retries exceeded

在本地机器上,高频率重复调用一个API接口,出现“Max retries exceeded with url”,拒绝连接的情况。

楼主讲一下,遇到这个bug的过程:

在服务器上开发了一个识别图像文字API接口,也部署好了,准备对接口进行测试,

楼主准备对本地文件夹中的2000多张图片进行测试,也就是说需要重复调用API接口2000多次。

请求接口50多次的时候,接口就不反馈信息了,报错,连接错误,无法连接,一开始以为是网络的问题,然后又重头开始调用直到调了300多次,报错,连接错误,无法连接,一直这么下去大概搞了七八次。。。

于是就开启了“百度一下”,网上也提供了很多教程,例如:

  • 在使用requests多次访问同一个ip时,尤其是在高频率访问下,http连接太多没有关闭导致的Max retries exceeded with url 的错误
res = requests.post(url, headers=headers, json=parm, cookies=cookies)
 # 请求完成后,关闭连接(若对同一个request高频率发起时,可能会出现Max retries exceeded with url)
res.close()
# 经过观察发现,使用后关闭res.close(),可以解决Max retries exceeded with url 的错误
  • 1
  • 2
  • 3
  • 4

https://www.cnblogs.com/cuitang/p/15407448.html

  • http连接太多没有关闭导致的

解决办法:

s=requests.session()
s.keep_alive=False
s.post(url)
  • 1
  • 2
  • 3

https://laidefa.blog.csdn.net/article/details/102740747

# 增加重连接次数:
requests.DEFAULT_RETRIES = 5
s=requests.session()
# 关闭多余连接
s.keep_alive=False
  • 1
  • 2
  • 3
  • 4
  • 5

https://blog.csdn.net/llllllkkkkkooooo/article/details/107637980

  • headers里面添加字段Connection,值为close
headers = {'Connection':'close'}
  • 1

https://www.jianshu.com/p/afe366963379

以上方案楼主都进行了尝试,没有解决我的问题。。。【主要还是药不对,药不对症,哈哈】

不过楼主并没有因此放弃解决该问题,继续查找资料!

最终找到了适合自己的“药”,分享如下:
在这里插入图片描述
也就是,安装这个包就好了:pip install pyopenssl 或 pip install -U pyopenssl

https://www.jianshu.com/p/5a57ad129e4b

在这里插入图片描述
以上内容仅作为个人记录参考,非标准答案

https://blog.csdn.net/weixin_45520735/article/details/115260374

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/384453
推荐阅读
  

闽ICP备14008679号