2017-01-11 62 views
0

我正在嘗試使用請求和HTTPBasicAuth從需要用戶名/密碼的網站檢索數據,雖然我嘗試按照常見的建議讓它起作用,它似乎不能正常工作。使用請求和HTTPBasicAuth從受密碼保護的站點檢索zip文件

具體而言,我試圖從哥倫比亞的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,並且非常感謝您的幫助!

最佳,

馬特

+0

你確定目標網頁應用程序使用'BasicAuthentication'嗎? – Andersson

回答

0

您試圖訪問的URL是不是HTTP基本身份驗證保護。您需要使用憑據提交表單。

相關問題