使用Python或Wget下载带有身份验证的文件

2024-10-01 07:11:40 发布

您现在位置:Python中文网/ 问答频道 /正文

所以基本上我已经尝试了很多方法来下载这个文件。我有两条Python 和wget实现。在这一点上,我真的不在乎工作。在

两者都做同样的事。。。他们下载的是网页,不是我要下载的文件。然而,当我将提供的确切网址发布到firefox中时,它会立即提示我下载它。在

需要做什么: 1连接到网站(即使ssl在上面搞砸了?) 2证明我自己 三。单击第一个链接,它将重定向到下载文件 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即可。也不是我想要的

^{pr2}$

如果我能让他们中的任何一个检索这个文件(APK文件),我会欣喜若狂,因为我很容易浪费了6个多小时在这个上面

注意用户名和密码因安全原因被隐藏


Tags: 文件代码importhttpurlif网站counter
1条回答
网友
1楼 · 发布于 2024-10-01 07:11:40

检查 wget-O型洛图斯特拉维勒.apk"https://traveler.pha.phila.gov:8443/servlet/traveler?action=GET&deviceType=700&address=https%3A%2F%2费拉弗勒.pha.phila.gov%3A8443%2Fservlet%2Ftraveler&userId=desantj&redirectURL=%2Ftraveler%2FLotusTraveler%2Fandroid%2弗洛图旅行者.apk“http user=用户名http passwd=密码

**编辑:对不起,我应该读得更好。再次抱歉。。虽然问题不是为什么,但我确实(用谷歌)找到了许多类似/相同文件的下载位置

相关问题 更多 >