如何用python中的urllib2发送cookie和phpssid?

2024-10-04 11:33:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我想知道如何在python中用urllib2发送cookie和phpssid? 实际上,我想读一个我用浏览器登录的页面,但是当我试图用这个脚本阅读它时,我遇到了一个文本,它似乎在说你错过了一些东西。 我的剧本:

#!/usr/bin/python
import urllib2
f = urllib2.urlopen('http://mywebsite.com/sub/create.php?id=20')
content = f.read()
file = open('file.txt', 'w')
file.write(content)
file.close()

我保存的错误消息而不是实际页面:

^{pr2}$

确切的问题是什么?(请给我一个简单的方法来实现我想要的)

提前谢谢


Tags: 文本import脚本bincookieusr浏览器页面
1条回答
网友
1楼 · 发布于 2024-10-04 11:33:18

对于SID,发送它的方法之一是作为查询字符串的一部分,而您已经在这样做了。至少我认为这就是你的URL的id=20部分。在

对于cookies,您想要的一切都在^{}中。在

仅仅创建一个CookieJar来与服务器进行会话是很简单的。如果要从浏览器导入Cookie,有三种可能:

  1. 如果您的浏览器使用旧的Netscape cookie文件格式,则可以使用FileCookieJar。在
  2. 如果您的浏览器使用sqlite数据库(至少像Firefox和Safari/Chrome那样),请使用sqlite3模块来读取它,并手动填充一个CookieJar。在
  3. 如果最坏的结果是最坏的,将cookies从您的浏览器复制并粘贴到脚本中作为硬编码字符串和流行的a CookieJar。在

如果您不想阅读有关如何使用cookielib的文档,只需查看末尾的the examples,它展示了如何将CookieJar与{}一起使用,这正是您想要做的。在

如果您有问题,请阅读文档。在

同时,您向我们展示的是(a)警告,而不是错误,(b)显然是服务器端的问题,而不是您的脚本。服务器不应该发出一堆警告和一个空白页。如果您或您的同事负责服务器代码,则需要首先修复它(您当前的简单Python脚本可以作为一个很好的回归测试用例)。在

相关问题 更多 >