Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python请求无法访问通过浏览器工作的私有网站_Python_Python Requests - Fatal编程技术网

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

使用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://

我正在尝试使用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]>
导入请求
#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搜索所有输入