python請求網路失敗時重複提交

2021-08-10 21:28:47 字數 741 閱讀 6524

在使用python抓取網路內容的時候,如遇網路問題常常需要重複提交,而不是簡單退出。考慮到重用性,可利用python裝飾器實現。

class retry(object):

def __init__(self,*,times):

self._cnt=times

def __call__(self,func):

data=none

cnt=self._cnt

while data==none and cnt>0:

data=func(*args,**kw)

cnt-=1

return data

裝飾器接收times引數,可控制重複次數,如果函式返回none則重複執行,否則返回結果。

封裝請求函式:

@retry(times=3)

def geturl(url):

try:

return requests.get(url,timeout=60)

except requests.exceptions.connectionerror:

return none

except requests.exceptions.connecttimeout:

return none

except requests.exceptions.timeout:

return none

如果希望終止重複,則可以直接丟擲異常。

Android 9 0 HTTP網路請求失敗

在手機測試執行失敗,手機從android 9.0 api級別28 開始,預設情況下限制了明文流量的網路請求,對未加密流量不再信任,直接放棄請求,因此http的url均無法載入,https 不受影響。解決方案 1.在 res 下新建乙個 xml 目錄,然後建立乙個名為 network security...

使用apache的ab壓力測試時失敗請求原因

只要出現failed requests 就會多出現一行要求失敗的各原因的資料統計,分別有connect,length,與exception 三種,分別代表的意義為 connect 無法送出要求 目標主機連線失敗 要求的過程中聯機被中斷 length 響應的內容長度不一致 以content lengt...

python網路請求 python之網路請求

get 請求 1 有請求引數的型別 鍵值對形式表示引數 url data 引數 res requests.get url,data text 轉成str型別 print res 2 有請求頭 鍵值對形式表示請求頭 url header res requests.get url,headers hea...