在过去的几天里,我一直在尝试使用Python请求登录,但一直遇到问题。在
这是我的代码:
import requests
LOGINURL = "https://admin.neopets.knetik.com/admin/login"
PROTECTEDPAGE = "https://admin.neopets.knetik.com/admin/order_summary/list"
payload = {
"_target_path": "https://admin.neopets.knetik.com/admin/dashboard",
"_username": "***",
"_password": "***",
"_remember_me": "on",
}
with requests.session() as session:
post = session.post(LOGINURL, data=payload)
response = session.get(PROTECTEDPAGE)
print(response.text)
我肯定我有所有需要的参数。我尝试过搜索隐藏的输入,但我遇到的唯一一个是“\u target_path”。在
你知道我错过了什么吗?在
登录页面非常简单,但是您发布到了错误的URL。在
您要发布到的URL提供登录表单,但它不接受任何登录凭据。
<form>
标记告诉您将这些发送到何处:action
属性是一个相对的URL,指向需要发送POST数据的情况。在使用该路径作为登录URL:
^{pr2}$但是,有些实现希望您首先向表单页发送
GET
,以建立会话cookie。该页面不使用任何CSRF保护,因此不必加载表单来解析该信息。在由于这些页面使用HTTPS,因此您可能还希望将原始表单URL作为
Referer
头传递(它通常是针对HTTP过滤的,或者在遍历域时,作为安全和隐私措施),站点可能会将其用作防止自动登录的附加措施:如果这仍然不起作用,服务器正在使用其他机器人嗅探技术。查看python requests.get always get 404了解如果你真的想推动这一点,你可以遵循什么样的策略。在
相关问题 更多 >
编程相关推荐