2016-11-07 69 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