requests請求嘗試超時重連
阿新 • • 發佈:2021-12-21
# 參考文件 https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html#module-urllib3.util.retry # 程式碼示例 import requests from urllib3.util.retry import Retry from requests.adapters import HTTPAdapter req = requests.Session() retries = Retry(total=3, backoff_factor=0.1, status_forcelist=[500, 502, 503, 504, 521]) req.mount('https://', HTTPAdapter(max_retries=retries)) try: result = req.get(url="http://httpstat.us/500", verify=False, timeout=5) if result.status_code == 200: print("ok") except requests.exceptions.RetryError: #這邊我們捕獲嘗試連線錯誤類,其它如具體的類在結合專案的時候會有問題,具體參考自己的專案修改。 print("error") # 相關Retry引數說明 total 允許的重試次數 connect 要重試的連線相關錯誤數 read 讀取錯誤時重試多少次 redirect 要執行的重定向數 status_forcelist 一組我們應該強制重試的HTTP狀態程式碼 backoff_factor 在第二次嘗試後在嘗試之間應用的退避因素(大多數錯誤會立即通過第二次嘗試解決,沒有延遲) raise_on_redirect 如果重定向次數用盡,是否引發 MaxRetryError 或返回響應程式碼在 3xx 範圍內的響應。 raise_on_status 類似於raise_on_redirect:如果狀態在status_forcelist範圍內並且重試已經用盡,我們是否應該引發異常或返回響應。
-------------------------------------------
個性簽名:程式碼過萬,鍵盤敲爛!!!
如果覺得這篇文章對你有小小的幫助的話,記得在右下角點個“推薦”哦,博主在此感謝!