2013-01-24 179 views
0

所以基本上我已經嘗試了許多方法來下載此文件。我有Python 和wget實現。而且真的在這個時候可以少一點我可以工作的。使用Python下載文件或使用身份驗證Wget

兩者都做同樣的事情...他們下載網頁,而不是我想下載的文件。然而,當我發佈提供給Firefox的確切網址時,它會立即提示我下載它。

需要採取什麼措施:(?即使SSL是搞砸了就可以了) 1.連接到網站 2.驗證自己 3.點擊第一個鏈接,該鏈接重定向到一個下載文件 4.下載文件

首先我的Python代碼:

import httplib2 
import urllib2 
from BeautifulSoup import BeautifulSoup, SoupStrainer 

http = httplib2.Http() 
http.add_credentials('username', 'password') 
status, response = http.request('https://traveler.pha.phila.gov:8443/servlet/traveler') 

counter = 0 
Androidlink = '' 
Windowslink = '' 
Iphonelink = '' 

for link in BeautifulSoup(response, parseOnlyThese=SoupStrainer('a')): 
    if link.has_key('href'):   
     if counter == 2: 
      Iphonelink = link['href'] 
      counter = counter + 1 
     if counter == 1: 
      Windowslink = link['href'] 
      counter = counter + 1 
     if counter == 0: 
      Androidlink = link['href'] 
      counter = counter + 1 


url = 'https://traveler.pha.phila.gov:8443' + Androidlink 
print url 


import requests 
from requests.auth import HTTPDigestAuth 
r = requests.get(url,verify=False, auth=HTTPDigestAuth('username', 'password')) 
print len(r.content) 

其次,我的Wget的代碼,只要下載該網站的HTML。又名不是我想要的

wget --no-check-certificate "https://traveler.pha.phila.gov:8443/servlet/traveler?action=GET&deviceType=700&address=https%3A%2F%2Ftraveler.pha.phila.gov%3A8443%2Fservlet%2Ftraveler&userId=desantj&redirectURL=%2Ftraveler%2FLotusTraveler%2Fandroid%2FLotusTraveler.apk" --http-user=username --http-passwd=password 

如果我能得到任何一方的中檢索該文件(APK文件),我會喜出望外,因爲我很容易地浪費了6個多小時打磨這個

的用戶名和密碼被隱藏出於安全原因

回答

1

檢查 的wget -O LotusTraveler.apk「https://traveler.pha.phila.gov:8443/servlet/traveler?action=GET &設備類型= 700 &地址= HTTPS%3A%2F%2Ftraveler.pha.phila.gov%3A8443%2Fser vlet%2Ftraveler &用戶id = desantj &的redirectUrl =%2Ftraveler%2FLotusTraveler%2Fandroid%2FLotusTraveler.apk」 --http用戶=用戶名--http-passwd文件=密碼

**編輯:對不起,我應該更好地閱讀。所以再次抱歉..雖然它沒有問題,爲什麼,我確實發現(與谷歌)許多下載地點爲類似/相同的文件

相關問題