2013-01-24 251 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文件=密码

**编辑:对不起,我应该更好地阅读。所以再次抱歉..虽然它没有问题,为什么,我确实发现(与谷歌)许多下载地点为类似/相同的文件

相关问题