python - 使用 python 以编程方式登录网站

标签 python

我想知道如何登录特定网站,但到目前为止还没有运气。

它在浏览器上发生的方式是,您单击按钮,它会触发 jQuery AJAX 请求 /ajax/authorize_ajax.html带有后置变量loginpass 。当它返回result = true时它会重新加载文档并且您已登录。

当我访问/ajax/authorize_ajax.html时在我的浏览器上它给了我 {"data": [{"result":false}]}作为回应。使用 C#,我确实访问了这个地址并发布了 loginpass它给了我 {"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/

相关文章:

python 3.x 安装后没有名为 sqlalchemy 的模块

Python 2.7 未在 Cygwin 中加载

python - 我可以让 pdb 立即开始调试吗?

python - 如何在 Windows 8 中拥有合适的 tkinter 窗口?

python - 如何将列表应用于 Pandas 组

python - 将流分成具有相等计数的箱

python - 如何使用 beautifulsoup 提取嵌套标签结构中的属性值?

python - (Python) 如何将我的代码从 2.7 转换为 python 3

python - 检查 Python 列表中的任何项目是否为无(但包括零)

python - 提交 django 表单集时出现 MultiValueDictKeyError