【发布时间】:2020-08-11 10:32:01
【问题描述】:
我正在尝试使用以下请求登录网站:
s = requests.Session()
login_data = {"userName":"username", "password":"pass", "loginPath":"/d2l/login"}
resp = requests.post("https://d2l.pima.edu/d2l/login?login=1", login_data)
虽然我收到了 200 条回复,但当我说
print(resp.content)
b"<!DOCTYPE html><html><head><meta charset='utf-8' /><script>var hash = window.location.hash;if( hash ) hash = '%23' + hash.substring( 1 );window.location.replace('/d2l/login?sessionExpired=0&target=%2fd2l%2ferror%2f404%2flog%3ftargetUrl%3dhttp%253A%252F%252Fd2l.pima.edu%253A80%252Fd2l%252Flogin%253Flogin%253D1' + hash );</script><title></title></head><body></body></html>"
注意它说会话已过期。 我试过的: 注销并在实际浏览器中登录,没有成功。 http基本认证,没有成功。
我在想也许我需要使用 cookie 对这个网站进行身份验证?
如果是这样,我如何确定要发送哪些 cookie?
我试着通过说来解决这个问题
resp.cookies
Out[4]: <RequestsCookieJar[]>
这不应该给我饼干的名字吗?我不确定如何处理这样的输出。 要点:我如何确定如何通过本网站验证 MYSLEF? 帮助表示赞赏。 我宁愿不使用硒。
【问题讨论】:
标签: authentication web-scraping python-requests session-cookies