Python中的Request請求重試機制
Python請求重連
很多時候因為網(wǎng)絡(luò)錯誤,或者請求阻塞導(dǎo)致我們一次請求沒有生效,那么有個錯誤重試機制的話方便我們?nèi)蒎e
問題描述
提示:
解決重連機制的話,一般我們先把請求做一次封裝
所有的reques都通過我們的Request基類去請求
這樣方面我們統(tǒng)一處理
put_request是我封裝的一個put統(tǒng)一請求方法:
def put_request(url,data): i=0 while i<3: try: res=r.put(url=url,data=data,verify=False,timeout=3.07) if check_res(res): i+=1 else: return res except Exception as e: log.debug(str(e)) i+=1 res='error' return res
優(yōu)化
提示:
后來發(fā)現(xiàn)Request有自己的重試機制,Transport Adapters,
https://requests.readthedocs.io/en/latest/user/advanced/#transport-adapters
import requests from requests.adapters import HTTPAdapter r = requests.Session() #將適配器掛載到session上面 r.mount('http://', HTTPAdapter(max_retries=3)) r.mount('https://', HTTPAdapter(max_retries=3))
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用BeeWare實現(xiàn)iOS調(diào)用Python方式
這篇文章主要介紹了使用BeeWare實現(xiàn)iOS調(diào)用Python方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-12-12Python實現(xiàn)輸出程序執(zhí)行進度百分比的方法
這篇文章主要介紹了Python實現(xiàn)輸出程序執(zhí)行進度百分比的方法,涉及Python數(shù)值運算與系統(tǒng)輸出相關(guān)操作技巧,需要的朋友可以參考下2017-09-09Python 旋轉(zhuǎn)立方體的實現(xiàn)示例
本文主要介紹了Python 旋轉(zhuǎn)立方體的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05Python實現(xiàn)的HTTP并發(fā)測試完整示例
這篇文章主要介紹了Python實現(xiàn)的HTTP并發(fā)測試,涉及Python多線程并發(fā)操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2015-05-05