我想知道如何登录特定网站,但到目前为止还没有运气。
它在浏览器上发生的方式是,您单击按钮,它会触发 jQuery AJAX 请求 /ajax/authorize_ajax.html
带有后置变量login
和pass
。当它返回result = true
时它会重新加载文档并且您已登录。
当我访问/ajax/authorize_ajax.html
时在我的浏览器上它给了我 {"data": [{"result":false}]}
作为回应。使用 C#,我确实访问了这个地址并发布了 login
和pass
它给了我 {"data": [{"result":true}]}
作为回应。但是,当然,当我返回网站的主文件夹时,我还没有登录。
谁能帮我解决这个问题吗?我认为 cookies 是通过 javascript 设置的,在这种情况下可能吗?我做了一些研究,我所能做的就是这个,请帮助我解决这个问题。在 python 中使用了 urllib,在 .NET 中使用了 Web 库。
编辑0
它正在响应 header 中设置 cookie。 SID、路径和域。
示例:sid=bf32b9ff0dfd24059665bf1d767ad401; path=/; domain=site
我不知道如何保存此 cookie 并返回/使用此 cookie。我以前从未做过这样的事情,有人可以给我一些使用 python 的例子吗?
编辑1
一切都完成了,感谢这篇文章 - How to use Python to login to a webpage and retrieve cookies for later usage?
最佳答案
这是我不久前写的一篇关于在涉及 Cookie 时使用 HttpWebRequest
发布到网站的博客文章:
http://crazorsharp.blogspot.com/2009/06/c-html-screen-scraping-part-2.html
这个想法是,当您使用 HttpWebRequest 获得响应时,您可以访问向下发送的 Cookie。对于每个后续请求,您可以在请求对象上新建一个 CookieContainer,并将获得的 cookie 添加到该容器中。
关于python - 使用 python 以编程方式登录网站,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7667841/