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文档读了大约一百万遍了,我就是不明白:
请帮帮某人:
发布于 2009-05-28 12:57:48
Raf,我能说的只有!文档肯定不是很清楚!我使用Python已经有很多年了,这个简单的Stack Overflow问题花了我20多分钟来回答,我以为在开始一天的实际工作之前很快就会解决这个问题。:-)
首先:事实证明,"Cookie“库和"cookielib”库是完全分开的,彼此没有任何关系。文档中说明了这一点,但您必须向下滚动到每个文档页面的"See Also“部分才能找到答案。如果这是在每个页面的顶部,这将是有帮助的。
因此,当您将一个对象从" 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'" 实际上,这是我在Cookie.Cookie对象上粘贴了一堆不属于那里的属性后得到的错误,但在我意识到我正在尝试让Cookie.Cookie表现得像cookielib.Cookie一样之前,我添加了这个错误。:-)之前的错误都是缺少属性的错误,如:
<class 'Cookie.CookieError'>: Invalid Attribute name
args = ('Invalid Attribute name',)
message = 'Invalid Attribute name' (我把错误放在这里,以防一些可怜的未来灵魂混淆了Cookie类,并执行我刚刚进行的Google搜索,但这些搜索都没有为我得到的错误找到任何结果!)
因此,在我们继续之前,我必须知道:您是否正在尝试充当web服务器,将Cookie传递给客户端,并在客户端发送下一个请求时尝试将它们原封不动地返回,在这种情况下,我应该向您展示"Cookie“模块是如何工作的?或者您正在编写一个web客户端,用于测试或娱乐,它通过web请求发送到网站的cookie,在这种情况下,我们应该讨论"cookielib"?
发布于 2009-05-28 12:32:34
确保命名要在其中存储cookies的文件:
savedc = FileCookieJar('cookies.txt')add_cookie_header接受一个请求对象;set_cookie接受一个Cookie。正如文档中所说,FileCookieJar.save“引发NotImplementedError。子类可能会使此方法无法实现。”我想您应该已经多次尝试阅读1E6+1文档了。
https://stackoverflow.com/questions/920472
复制相似问题