python - 如何使用 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)
解决方案
看起来 CSRF(跨站点请求伪造)令牌隐藏在页面中。在页面上执行“查看源代码”并搜索“csrf”。
为了让这个工作有任何机会,您需要解析页面,然后将该 CSRF 令牌作为datad
. 您可能会遇到其他问题,因为我打赌表单提交是通过 JavaScript 处理的。
推荐阅读
- python-3.x - 迭代http请求头
- node.js - Firebase 管理员未能获取有效的 Google OAuth2 访问令牌 - 无法验证证书
- php - PHP $_POST 变量变量不起作用
- javascript - 我可以在 Dialogflow 的内联编辑器中使用意图参数吗?
- django - Django:多个管理页面使用相同的模型但不同的身份验证模式
- android - 扩展 RoomDatabase 的 Singleton Kotlin 类只被调用一次
- algorithm - C - 嵌套循环的时间复杂度
- scala - 如何对应用于输入的验证规则进行单元测试
- kotlin - 如何转换反应堆通量
到输入流 - javascript - dygraph:x轴y轴设置最小值和最大值