使用请求和HTTPBasicAuth从受密码保护的站点检索zip文件

时间:2017-01-11 15:56:09

标签: python python-requests

我正在尝试使用请求和HTTPBasicAuth从需要用户名/密码的网站检索数据,虽然我尝试按照通常的建议来实现这一点,但它似乎无法正常运行。

具体来说,我试图从哥伦比亚的SEDAC网站下载数据如下。

url = "http://sedac.ciesin.columbia.edu/downloads/data/sdei/sdei-global-nnual-avg-pm2-5-modis-misr-seawifs-aod-1998-2012/global-annual-avg-pm2-5-modis-misr-seawifs-aod-2001-2010-geotiff.zip"
username = '<name>'
password = '<password>'
r = requests.get(url, auth=HttpBasicAuth(username, password))

现在,碰巧,如果我查看请求的内容,我发现它给了我一个html文件,而不是我想要的.zip文件。类似的东西:

r.content

b'<!DOCTYPE html>\n<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->\n<!--[if IE 7]><html class="no-js lt-ie9 lt-ie8"> <![endif]-->\n<!--[if IE 8]><html class="no-js lt-ie9"> <![endif]-->\n<!--[if gt IE 8]><!--><html lang="en" class="no-js"><!--<![endif]-->\n  <head>\n    <meta charset="utf-8">\n    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">\n    <title>Earthdata Login</title>\n

等等。看来我实际上无法自动获取我想要的实际zip文件。我正在使用Python 3.5.2,并且非常有必要提供任何帮助!

最佳,

马特

1 个答案:

答案 0 :(得分:0)

您尝试访问的网址不受http基本身份验证保护。您需要提交带有凭据的表单。

相关问题