【发布时间】:2021-05-15 21:39:30
【问题描述】:
我是这个论坛的新手,对编码比较陌生
此问题已在此处提出,但解决方案似乎对我不起作用。
我想使用 Python Post 请求登录 index.php 页面,但响应 url 与初始登录页面保持不变,表明登录不成功。
import requests as r
login_url = "https://www.example.com/index.php?login"
index_url = "https://www.example.com/gymla/index.php" #The url I want to be directed to
data = {
"isiwebuserid": "username",
"isiwebpasswd": "password",
"submit": "Senden"
}
s = r.session()
response = s.post(login_url, data=data)
print(response.url)
if response.url == login_url:
print("The attempt did not work.")
如果登录 URL 可能有误,我已经检查了
【问题讨论】:
-
您是否检查过响应页面的内容,看看它是否提到了问题所在?也许缺少 CSRF 令牌?
-
另外,您是否尝试过先在该页面上执行 GET 操作?如果您从 POST 开始,则不会让页面有机会设置任何可能依赖的 cookie。
-
@JohnGordon POST 并没有真正帮助,虽然我不太了解 CSRF 令牌,但我真的找不到任何关于它的错误消息。但是你让我认为表单值“提交”是一个按钮而不是文本。你认为这个问题可能与我将它作为某种形式的文本数据发布有关,而它实际上是一个按钮?
-
我看到的唯一其他区别是表单上提交按钮的值是“提交”,而不是“发送”(尽管可能是由于本地化?)
标签: python html authentication python-requests request