从经过身份验证的URL下载包含python请求的CSV文件

从经过身份验证的URL下载包含python请求的CSV文件,python,session,python-requests,Python,Session,Python Requests,对于我的一个项目,我需要从经过身份验证的网站URL获取CSV文件。不幸的是,没有API来做这件事。这就是为什么我决定使用会话请求来获取它 登录页面为: 我在页面上查看了HTML代码中的登录名和密码名。登录名为“identificationBean.identifiant”,密码为“identificationBean.mdp” 因此,我尝试用以下代码连接并显示返回的HTML,但它返回了错误登录/密码的HTML代码(例如,如果我在浏览器中键入错误登录/密码)。我确信我的证书是正确的 login

对于我的一个项目,我需要从经过身份验证的网站URL获取CSV文件。不幸的是,没有API来做这件事。这就是为什么我决定使用会话请求来获取它

登录页面为:

我在页面上查看了HTML代码中的登录名和密码名。登录名为“identificationBean.identifiant”,密码为“identificationBean.mdp”

因此,我尝试用以下代码连接并显示返回的HTML,但它返回了错误登录/密码的HTML代码(例如,如果我在浏览器中键入错误登录/密码)。我确信我的证书是正确的

login = "my_login"
password = "my_password"

with requests.Session() as session:
    data = {
        'identificationBean.identifiant': '{}'.format(config.login),
        'identificationBean.mdp': '{}'.format(config.password)
    }
    url = 'http://extranet.ffbb.com/fbi/identification.do'
    response = session.post(url, data=data)
    print(response.text)

感谢您的帮助

您必须复制浏览器正在执行的所有操作。不仅是登录表单中的内容,还有服务器设置的任何cookie。是否验证了方法
。format(config.login)
的结果是否正确返回凭据?@MarcB:正如我在请求文档中看到的,会话处理cookie否?“会话对象允许您跨请求保留某些参数。它还跨会话实例发出的所有请求保留Cookie”@tenwest:我检查并确定我的凭据有效。是的,但是浏览器最初在登录页面上设置的任何Cookie呢?您只是直接跳转到一篇文章中,而没有通过实际加载登录页面来模拟浏览器的操作。这意味着您将不会发送反欺骗令牌等。。。