Python中的Request請(qǐng)求重試機(jī)制
Python請(qǐng)求重連
很多時(shí)候因?yàn)榫W(wǎng)絡(luò)錯(cuò)誤,或者請(qǐng)求阻塞導(dǎo)致我們一次請(qǐng)求沒(méi)有生效,那么有個(gè)錯(cuò)誤重試機(jī)制的話方便我們?nèi)蒎e(cuò)
問(wèn)題描述
提示:
解決重連機(jī)制的話,一般我們先把請(qǐng)求做一次封裝
所有的reques都通過(guò)我們的Request基類去請(qǐng)求
這樣方面我們統(tǒng)一處理
put_request是我封裝的一個(gè)put統(tǒng)一請(qǐ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)化
提示:
后來(lái)發(fā)現(xiàn)Request有自己的重試機(jī)制,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é)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Python進(jìn)階之利用+和*進(jìn)行列表拼接
在我們學(xué)習(xí)python的過(guò)程中,有一個(gè)非常常見的語(yǔ)法,那就是利用+和*進(jìn)行序列的拼接以及其他操作。今天就帶大家從使用+和*進(jìn)行拼接出發(fā)認(rèn)識(shí)一個(gè)大家非常容易犯的代碼錯(cuò)誤。話不多說(shuō)我們開始吧2023-04-04
pandas將DataFrame的幾列數(shù)據(jù)合并成為一列
本文主要介紹了pandas將DataFrame的幾列數(shù)據(jù)合并成為一列,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
使用Python實(shí)現(xiàn)處理和清洗CSV格式的數(shù)據(jù)文件
這篇文章主要為大家詳細(xì)介紹了如何使用Python實(shí)現(xiàn)處理和清洗CSV格式的數(shù)據(jù)文件,文中的示例代碼講解詳細(xì),有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-12-12
python-opencv-cv2.threshold()二值化函數(shù)的使用
這篇文章主要介紹了python-opencv-cv2.threshold()二值化函數(shù)的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11
python實(shí)現(xiàn)k-means聚類算法
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)k-means聚類算法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-02-02
基于Python實(shí)現(xiàn)一個(gè)目錄/文件遞歸檢索工具
在Python中,遞歸查找文件是一個(gè)常見的任務(wù),特別是在處理大型文件系統(tǒng)時(shí),遞歸查找意味著從指定的目錄開始,遍歷該目錄中的所有子目錄,并在每個(gè)子目錄中查找匹配特定條件的文件,所以本文給大家介紹了基于Python實(shí)現(xiàn)一個(gè)目錄/文件遞歸檢索工具,需要的朋友可以參考下2025-07-07
Scrapy的Pipeline之處理CPU密集型或阻塞型操作詳解
這篇文章主要介紹了Scrapy的Pipeline之處理CPU密集型或阻塞型操作詳解,Twisted框架的reactor適合于處理短的、非阻塞的操作,Twisted提供了線程池來(lái)在其他的線程而不是主線程(Twisted的reactor線程)中執(zhí)行慢的操作,需要的朋友可以參考下2023-10-10
requests庫(kù)post方法如何傳params類型的參數(shù)(最新推薦)
在使用requests庫(kù)的post方法時(shí),params類型的參數(shù)用于在URL中作為查詢字符串傳遞,與data或json參數(shù)不同,后者是放在請(qǐng)求體中的,params參數(shù)接受一個(gè)字典或包含鍵值對(duì)的序列,本文給大家介紹requests庫(kù)post方法怎么傳params類型的參數(shù),感興趣的朋友一起看看吧2025-03-03

