使用Python请求无法访问通过浏览器工作的私有网站

2024-10-04 11:22:01 发布

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

我正在尝试使用Python请求方法从私人网站下载一些(.csv)文件

我可以使用浏览器访问该网站。输入url后,会弹出一个窗口,填写用户名和密码。
之后,它开始下载(.csv)文件

然而,当我使用Python请求方法时,它失败了。 这是我的密码

import requests

# username and pwd in base64
b64_IDpass = '******'
tics_headers = {
                "Host": 'http://tics-sign.com',
                "Authorization": 'Basic {}'.format(b64_IDpass)
               }
# company internet proxy
proxy = {'http': '*****'}
# url
url_get = 'http://tics-sign.com/getlist'

r = requests.get(url_get,
                 headers=tics_headers,
                 proxies=proxy)

print(r)
# <Response [404]>

我已经在浏览器中检查了标题,没有问题。
但是为什么在使用Python时返回<Response [404]>


Tags: 文件csv方法httpurl密码get网站
1条回答
网友
1楼 · 发布于 2024-10-04 11:22:01

在获得链接之前,您需要发布您的密码和用户名

所以你可以试试这个:

request.post("http://tics-sign.com", tics_headers)

然后获取信息:

request.get(url_get, proxies=proxy)

这已经为我在所有以前的网站刮需要认证。 问题是每个站点都有不同的接受身份验证的方式。也许如此 甚至不工作

也可能是python没有被重定向到http://tics-sign.com/displaypanel/login.aspxcurl不适合我


编辑

我查看了您网站的HTML源代码,得出以下结论:

login_data = {"logName": your_id, "pwd": your_password}

request.post(http://tics-sign.com/displaypanel/login.aspx, login_data)

r = request.get(url_get, proxies=proxy)

你可以查看我的blog了解更多信息

相关问题 更多 >