我正在尝试登录一个页面并访问该页面中的另一个链接.
I am trying to login to a page and access another link in the page.
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 并且它正在工作,并且我收到了类似于我在开发人员中看到的响应.
This is giving me a "405 Not Allowed" error. I checked the post method details using chrome developer tools and could see an api (URL/api/auth). I posted to that URL with the payload and it was working and i was getting a response similar to what i could see in the developer.
不幸的是,在登录后尝试获取"另一个 url 时,我仍然从登录页面获取内容.为什么登录不卡?我应该使用cookies吗?我是新手,所以我真的不知道如何使用 cookie.
Unfortunately when trying to 'get' another url after login, i am still getting the content from the login page. Why is the login not sticking? Should i use cookies? I am a newbie, so i don't really know how to work with cookies.
推荐答案您可以使用会话对象.它存储 cookie 以便您可以提出请求,并为您处理 cookie
You can use a session object. It stores the cookies so you can make requests, and it handles the cookies for you
s = requests.Session() # all cookies received will be stored in the session object s.post('www...',data=payload) s.get('www...')文档:requests.readthedocs.io/en/master/user/advanced/#session-objects
您还可以将 cookie 数据保存到外部文件,然后重新加载它们以保持会话持久性,而无需每次运行脚本时都登录:
You can also save the cookie data to an external file, and then reload them to keep session persistent without having to login every time you run the script:
如何将请求 (python) cookie 保存到文件?
更多推荐
如何在 Python 请求中使用 cookie
发布评论