gpt4 book ai didi

python - 无法使用Python中的请求库登录

转载 作者:太空宇宙 更新时间:2023-11-03 16:26:33 24 4
gpt4 key购买 nike

我正在尝试打开此website ,并使用 requests 访问仪表板的信息python 中的库。这是一种网络抓取,但问题是我无法登录。我尝试了多种不同的方法来发布我的登录凭据,但到目前为止没有任何效果。

网站 - https://www.handy.com/login

登录 HTML - <input autofocus="autofocus" class="string email required" id="user_session_email" name="user_session[email]" required="required" size="50" type="email">

密码 HTML - <input class="password required" id="user_session_password" name="user_session[password]" required="required" size="50" type="password">

代码:

首先我尝试使用用户名和密码的名称属性

import requests
url = "https://www.handy.com/login"
payload = {"user_session[email]": "email or username", "user_session[password]": "password"}
r = requests.post(url, data=payload)
print r.status_code
print r.reason

还尝试使用 username and password 的 id 属性但问题是一样的。状态代码为500原因是 Internal Server Error 。我知道如何创建持久 session ,但如果您能帮助我登录网站,我将不胜感激。

最佳答案

首先,当需要身份验证并且必须为进一步的请求维护 session 时,requests.session 对象是执行此操作的预期方法。

这涉及创建一个 session 对象并使用它来发送 POST 请求。

session = requests.session()r = session.post(url, data=payload)

您将遇到的另一个问题是您没有发送与浏览器相同的有效负载(或者更重要的是,没有像服务器期望的那样),这就是内部服务器错误所指示的。

如果您使用的是 Firefox,您可以使用 Ctrl-Shift-Q 打开网络监视器窗口,选择浏览器发出的用于发送您的登录详细信息的 POST 请求,然后转到“参数”选项卡,您将在其中看到类似的内容这个:

enter image description here

因此,您最初需要做的是使用 session 对象向登录页面发出 GET 请求。您需要从您刚刚从此请求收到的 HTML 中解析 authenticity_token。然后,您可以使用此 token 以及电子邮件和密码来发出对网站进行身份验证的 POST 请求。

关于python - 无法使用Python中的请求库登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37934155/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com