使用Python请求无法访问通过浏览器工作的私有网站
我正在尝试使用Python请求方法从私人网站下载一些(.csv)文件 我可以使用浏览器访问该网站。输入url后,会弹出一个窗口,填写用户名和密码。使用Python请求无法访问通过浏览器工作的私有网站,python,python-requests,Python,Python Requests,我正在尝试使用Python请求方法从私人网站下载一些(.csv)文件 我可以使用浏览器访问该网站。输入url后,会弹出一个窗口,填写用户名和密码。 之后,它开始下载(.csv)文件 然而,当我使用Python请求方法时,它失败了。 这是我的密码 import requests # username and pwd in base64 b64_IDpass = '******' tics_headers = { "Host": 'http://
之后,它开始下载(.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]>
导入请求
#base64中的用户名和密码
b64_IDpass='********'
标题={
“主持人”:http://tics-sign.com',
“授权”:“基本{}”。格式(b64_IDpass)
}
#公司互联网代理
proxy={'http':'*****'}
#网址
url\u get=http://tics-sign.com/getlist'
r=requests.get(url\u-get,
headers=tics\u headers,
代理服务器=代理服务器)
印刷品(r)
#
我已经在浏览器中检查了标题,没有问题。但是为什么在使用Python时返回
?在获得链接之前,您需要发布您的密码和用户名
所以你可以试试这个:
request.post(“http://tics-sign.com“,tics_标题)
然后获取信息:
request.get(url\u-get,proxies=proxy)
这已经为我在所有以前的网站刮需要认证。
问题是每个站点都有不同的接受身份验证的方式。也许如此
甚至不工作
也可能是python没有被重定向到<代码>卷曲不适合我
编辑: 我查看了您网站的HTML源代码,得出以下结论:
login_data={“logName”:您的_id,“pwd”:您的_密码}
请寄(http://tics-sign.com/displaypanel/login.aspx,登录(U数据)
r=request.get(url\u-get,proxies=proxy)
您可以查看my以了解更多信息。那么您可以提供一个用户供我们测试吗?您可能错过了csrf_token@jizhihaoSAMA很抱歉但是,当您不登录时,您可以在浏览器中检查状态代码,
401 Unauthorized
@BenjaminPhilip谢谢。让我来了解一下是什么。你有没有尝试过使用cookie下载它而不登录?它不起作用。如果我发布到request.post(“http://tics-sign.com/displaypanel/login.aspx)我也不知道。也许我错过了什么。由于这是一个私人网站,我也不能测试太多。我建议您留意input
标记。因为我看不懂这种语言,我也不知道那些复选框是否重要。如果您使用unix,您可以卷曲站点并使用grep搜索所有输入