Python Cookies问题

2024-10-01 07:47:23 发布

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

import cgitb
import Cookie, urllib2
from cookielib import FileCookieJar
cgitb.enable()
c = Cookie.SmartCookie()
c['ini'] = 1
savedc = FileCookieJar()
savedc.add_cookie_header(c.output())
savedc.save()

这难道不能拯救饼干吗?。。。在

我已经把python文档读了100万遍了,只是不明白:(

请帮助某人:(


Tags: fromimportaddoutputenablecookieurllib2ini
2条回答

英国皇家空军,我只能说,伊加兹!文档肯定是清楚的!我已经使用Python很多年了,这个简单的堆栈溢出问题,我认为在开始一天的实际工作之前,我很快就知道了,这个问题花了我20多分钟来回答。:-)

第一:原来“Cookie”库和“cookielib”库是完全分开的,彼此没有任何关系。这在文档中有说明,但是您必须向下滚动到每个文档页的“另请参阅”部分才能找到这一点。如果这是在每一页的顶部,这将是有帮助的。在

所以,当你把一个对象从“Cookie”库传递到“cookielib”时,你会混淆“cookielib”的内部结构,因为它将Cookie存储在字典中,而“Cookie”Cookie看起来像-猜猜怎么着!-一个字典,所以“cookielib”将其混淆为自己的一个内部数据结构,并将其他cookie保存在其中。我得到的结果是:

<type 'exceptions.AttributeError'>: 'str' object has no attribute 'discard'
  args = ("'str' object has no attribute 'discard'",)
  message = "'str' object has no attribute 'discard'" 

实际上,这是在饼干。饼干不属于那里的对象,但是在我意识到我正在进行一项无望的任务,试图得到一个饼干。饼干表现得像个cookielib饼干. :—)以前的错误都是属性缺失错误,例如:

^{pr2}$

(我把这些错误放在这里,以防将来某个可怜的人把Cookie类混在一起,然后做我刚才做的谷歌搜索,结果都没有找到我所得到的错误的任何结果!)在

因此,在我们继续之前,我必须知道:您是否试图像一个web服务器一样,将Cookie传递给客户机,并在客户机发送下一个请求时将其原封不动地恢复过来,在这种情况下,我应该向您展示“Cookie”模块是如何工作的?或者你在写一个web客户端,为了测试或者是为了好玩,它会破坏它通过web请求发送到一个web站点的cookies,在这种情况下,我们应该讨论一下“cookielib”?在

请确保为存储Cookie的文件命名:

savedc = FileCookieJar('cookies.txt')

add_cookie_header接受请求对象;set_cookie接受Cookie。正如文档中所说,FileCookieJar.save“引发了NotImplementedError。子类可能会使这个方法无法实现。在

相关问题 更多 >