在本地機器上,高頻率重復調用一個API接口,出現“Max retries exceeded with url”,拒絕連接的情況。
樓主講一下,遇到這個bug的過程:
在服務器上開發了一個識別圖像文字API接口,也部署好了,准備對接口進行測試,
樓主准備對本地文件夾中的2000多張圖片進行測試,也就是說需要重復調用API接口2000多次。
請求接口50多次的時候,接口就不反饋信息了,報錯,連接錯誤,無法連接,一開始以為是網絡的問題,然後又重頭開始調用直到調了300多次,報錯,連接錯誤,無法連接,一直這麼下去大概搞了七八次。。。
於是就開啟了“百度一下”,網上也提供了很多教程,例如:
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 的錯誤
https://www.cnblogs.com/cuitang/p/15407448.html
解決辦法:
s=requests.session()
s.keep_alive=False
s.post(url)
https://laidefa.blog.csdn.net/article/details/102740747
# 增加重連接次數:
requests.DEFAULT_RETRIES = 5
s=requests.session()
# 關閉多余連接
s.keep_alive=False
https://blog.csdn.net/llllllkkkkkooooo/article/details/107637980
headers = {
'Connection':'close'}
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