Python中的Request請求重試機制
Python請求重連
很多時候因為網(wǎng)絡(luò)錯誤,或者請求阻塞導致我們一次請求沒有生效,那么有個錯誤重試機制的話方便我們?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-12
Python實現(xiàn)輸出程序執(zhí)行進度百分比的方法
這篇文章主要介紹了Python實現(xiàn)輸出程序執(zhí)行進度百分比的方法,涉及Python數(shù)值運算與系統(tǒng)輸出相關(guān)操作技巧,需要的朋友可以參考下2017-09-09
Python 旋轉(zhuǎn)立方體的實現(xiàn)示例
本文主要介紹了Python 旋轉(zhuǎn)立方體的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-05-05
Python實現(xiàn)的HTTP并發(fā)測試完整示例
這篇文章主要介紹了Python實現(xiàn)的HTTP并發(fā)測試,涉及Python多線程并發(fā)操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下2015-05-05

