1
我想要做的是從一個站點獲取GET請求並返回401,然後重新驗證wiggle(可能已過時)並重試。但我不想第三次嘗試,因爲那將是我的身份驗證蠕動具有錯誤的憑據。有沒有人有這樣做的好方法,不涉及適當醜陋的代碼,理想情況下在Python的請求庫,但我不介意改變。如何在python請求中處理401(未授權)
我想要做的是從一個站點獲取GET請求並返回401,然後重新驗證wiggle(可能已過時)並重試。但我不想第三次嘗試,因爲那將是我的身份驗證蠕動具有錯誤的憑據。有沒有人有這樣做的好方法,不涉及適當醜陋的代碼,理想情況下在Python的請求庫,但我不介意改變。如何在python請求中處理401(未授權)
它沒有得到任何比這少難看,我想:
import requests
from requests.auth import HTTPBasicAuth
response = requests.get('http://your_url')
if response.status_code == 401:
response = requests.get('http://your_url', auth=HTTPBasicAuth('user', 'pass'))
if response.status_code != 200:
# Definitely something's wrong
你可以在一個函數它們包裝和使用的裝飾評估響應和重試401在auth然後你只需要裝飾任何需要此重新授權邏輯的功能....
是的,這與我想出的類似,只有我向上冒出了401。 – 2014-10-14 09:16:01
酷!你可以自己寫出你自己的答案,並接受它,或接受這個答案。 – 2014-10-14 09:40:39
我不會接受它;我意識到你和我是世界上最聰明的兩個人,但也許會有另一個像我們一樣聰明的人找到了更好的方法;-) – 2014-10-14 10:03:25