我尝试从提供商处下载zip文件,使用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 Requests库我使用相同的凭据获得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 :(得分: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'
答案 1 :(得分:0)
我遇到了类似的问题,我使用HTTPDigestAuth而不是HTTPBasicAuth解决了该问题。
from requests.auth import HTTPDigestAuth
requests.get(url, auth=HTTPDigestAuth('mylogin', 'mypassword'))