2016-11-07 42 views
0

我試圖下載從提供一個zip文件,使用wget正常工作:獲得401驗證錯誤與Python的要求,wget的功能是否正確

wget -c --http-user=MY_UN --http-password=MY_PW "https://datapool.asf.alaska.edu/GRD_MD/SA/S1A_EW_GRDM_1SDH_20151003T040339_20151003T040351_007983_00B2A6_7377.zip" 

但是使用Python請求庫,我得到使用401錯誤相同的憑據,是否有人知道爲什麼會這樣,或者從哪裏開始瞭解問題?

url = "https://datapool.asf.alaska.edu/GRD_MD/SA/S1A_EW_GRDM_1SDH_20151003T040339_20151003T040351_007983_00B2A6_7377.zip"  
r = requests.get(url, auth=("MY_UN", "MY_PW"), stream = True) 

我應該提到,我已經四次檢查細節,並且它們在兩者上都是正確的。 Python中有另一種方法嗎?

在同時,我不得不使用OS包釀出的wget:

os.system("wget -c --http-user=MY_UN--http-password=MY_PW 'https://datapool.asf.alaska.edu/GRD_MD/SA/S1A_EW_GRDM_1SDH_20151003T040339_20151003T040351_007983_00B2A6_7377.zip'") 
+0

沒有您的密碼包含反斜槓?你可以嘗試將'r'前綴傳遞給你的字符串。 –

+0

不,我不怕,只是字符和數字,我的用戶名相同,除了聯合國有一個。在裏面。好主意,但你想逃避串嗎? –

+0

看起來他們在做oauth。這可能有幫助嗎? http://stackoverflow.com/questions/12397375/authentication-and-python-requests –

回答

0

我會建議嘗試以下方法:

session = requests.Session() 
session.trust_env = False # to bypass a proxy 
r = session.get(url, verify=False) # or if there is a certificate do verify='file.cer' 
+0

相同,401錯誤:( –

+0

嘗試將登錄名和密碼放入變量並打印出來,看看他們是否仍然看起來相同 – Nickpick