使用 python 重定向到 SAML 的登录页面后,我可以使用相应的 cookie 正常发布我的登录数据吗?还是 SAML 不是那么直接?
这是我尝试使用 Python 请求登录的重定向页面。
import requests
User = *****
Pass = *****
payload = {
'UserName': User,
'Password': Pass
}
session = requests.session()
moodle_url = "https://moodle.vle.monash.edu/login/index.php?authCAS=CAS"
response = session.get(moodle_url)
cookies = session.cookies.get_dict()
SAML_url = response.url
response = session.post(SAML_url, payload)
print(response.url)
这样做似乎无法让我登录,因为我仍然返回相同的url
我尝试使用 chrome 手动登录并使用 Wireshark 捕获包,遵循 HTTP 流,浏览器似乎在被重定向后立即获取 SimpleSAMLAuthToken cookie。我无法理解这一点,因为我没有看到任何包含我的登录 ID 和密码的 POST。
据我了解,应该有某种形式的数据 POST-ing,我可以使用 Python 请求来模仿它,但在 Wireshark 中过滤“http”并没有显示任何内容。
这是 POST 问题还是我只是缺少一个或两个有效负载参数?
我对 python 和网络抓取都很陌生。非常感谢任何调试提示!