使用 API 请求进行身份验证

Authentication using API Request

我目前正在使用 Request API 编写一个简短的脚本,我需要访问我的电子邮箱以检索一些信息。

所以我写了这段代码来进行身份验证:

#! /usr/bin/python3

import requests

payload = {'horde_user': '',
           'horde_pass': '',
           'login_post': '1'}


r = requests.post('http://webmail.technion.ac.il/login.php', data=payload)

print(r.status_code)
print(r.text)

显然,我在 payload 词典中用我的用户名替换了 horde_user,用我的密码替换了 horde_pass

但输出的是初始页面的源代码,而我希望它是我邮箱的内容。

状态代码是 200,而它应该是 302。有人可以向我解释我做错了什么吗。

非常感谢您的帮助!

尝试先请求页面,然后从第一个请求中提取会话 ID 以用于登录尝试。我敢打赌它会失败,因为您发送的是旧的会话 ID,而网站拒绝了它们,并将您发送回带有新会话 ID 的登录页面。 cookie 中的会话 ID 为 Horde 和 horde_secret_key。