0

したがって、基本的に、このファイルをダウンロードするためにさまざまな方法を試しました。Python と wget の両方の実装があります。そして、実際、この時点で、どちらが仕事に就くことができるかはあまり気にしません。

どちらもまったく同じことをします...ダウンロードしようとしているファイルではなく、Webページをダウンロードします。それでも、提供された正確な URL を Firefox に投稿すると、すぐにダウンロードするように求められます。

必要なこと: 1. Web サイトに接続します (SSL が台無しになっていても?) 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)

次に、My Wget Code で、Web サイトの 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 時間以上の作業を簡単に無駄にしてしまうので、大喜びです。

ユーザー名とパスワードは、セキュリティ上の理由から隠されています

4

1 に答える 1

1

チェック wget -O LotusTraveler.apk "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=ユーザー名 --http-passwd=パスワード

**編集: 申し訳ありませんが、もっとよく読むべきでした。もう一度申し訳ありません..理由は問題ではありませんが、同様の/同じファイルのダウンロード場所を(Googleで)多数見つけました

于 2013-01-24T21:46:42.723 に答える