[英]Python Requests Module - API Calls
我寫了一個django網絡項目,正在使用一些API調用。 我想嘗試建立一些機制來處理緩慢和失敗的API調用。 具體來說,我想嘗試3次API調用,並增加調用次數,以便在請求成功時打破循環。 什么是解決這個問題的好方法,或者我所接受的是什么? 下面是我現在使用的代碼。
for x in [0.5, 1, 5]:
try:
r = requests.get(api_url, headers = headers, timeout=x)
break
except:
pass
您可以使用請求本身提供的異常來處理失敗的Api調用。 如果發生網絡問題,可以使用ConnectionError
異常。 請參閱此帖子,以獲取更多詳細信息。 我沒有粘貼到請求文檔的鏈接,也沒有詳細解釋每個異常,因為之前給出的SO帖子可以為您提供問題的答案。 下面給出了示例代碼段
try:
r = requests.get(url, params={'key': 'value'})
except requests.exceptions.ConnectionError as e:
print e
這概述了我正在談論的過程。 單個API請求最終可能會變得有些不穩定。
migrationup.com/making-unreliable-apis-reliable-with-python/#
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.