我正在尝试登录页面并访问页面中的另一个链接。
payload={'username'=<username>,'password'=<password>}
with session() as s:
r = c.post(<URL>, data=payload)
print r
print r.content
这给我一个“405 Not Allowed”错误。我使用 chrome 开发人员工具检查了 post 方法的详细信息,可以看到一个 api (URL/api/auth)。我将有效负载发布到该 URL,它正在运行,我得到的响应类似于我在开发人员中看到的响应。
不幸的是,当我在登录后尝试“获取”另一个 URL 时,我仍然从登录页面获取内容。为什么登录不粘?我应该使用 cookie 吗?我是新手,所以我真的不知道如何使用 cookie。
原文由 user1474157 发布,翻译遵循 CC BY-SA 4.0 许可协议
您可以使用会话对象。它存储 cookie,以便您可以发出请求,并为您处理 cookie
文档: https ://requests.readthedocs.io/en/master/user/advanced/#session-objects
您还可以将 cookie 数据保存到外部文件,然后重新加载它们以保持会话持久,而无需在每次运行脚本时都登录:
如何将请求(python)cookie保存到文件中?