首页 > 解决方案 > 如何使用 Python 请求登录网站?

问题描述

我正在尝试使用 Python 中的模块登录“ https://partner.getyourguide.com/en-us/login ” ,但requests我不断收到错误消息'Invalid CSRF token',但 cookie 没有'Invalid CSRF token'.

我期待200成功登录的回应,但我得到了403

import requests as r
session = r.Session()
re= r.get('https://partner.getyourguide.com/en-us/login')
re.cookies

datad = {'email':'hello@world.com','password':'passowr'}  
response = r.post('https://partner.getyourguide.com/en-us/login', data = datad)
print(response)

标签: pythonpython-requests

解决方案


看起来 CSRF(跨站点请求伪造)令牌隐藏在页面中。在页面上执行“查看源代码”并搜索“csrf”。

为了让这个工作有任何机会,您需要解析页面,然后将该 CSRF 令牌作为datad. 您可能会遇到其他问题,因为我打赌表单提交是通过 JavaScript 处理的。


推荐阅读