如何创建cookie并将其添加到python中的CookieJar实例中? 我有cookie的所有信息(名称、值、域、路径等),我不想用http请求提取新的cookie。
我试过了,但看起来SimpleCookie类与CookieJar不兼容(还有其他Cookie类吗?)
import Cookie
c = Cookie.SimpleCookie()
c["name"]="value"
c['name']['expires'] = 0
c['name']['path'] = "/"
c['name']['domain'] = "mydomain.com"
cj = cookielib.CookieJar()
cj.set_cookie(cookie)
Traceback (most recent call last):
cj.set_cookie(cookie)
File "/usr/lib/python2.6/cookielib.py", line 1627, in set_cookie
if cookie.domain not in c: c[cookie.domain] = {}
AttributeError: 'SimpleCookie' object has no attribute 'domain'
这里的关键点是方法
cj.set_cookie
期望类cookielib.Cookie
的对象作为其参数(所以是的,还有另一个Cookie类),不是类Cookie.SimpleCookie
的对象(或者模块Cookie
中找到的任何其他类)。这些类(如所观察到的)根本不兼容,尽管名称的相似性令人困惑。请注意,
cookielib.Cookie
的构造函数的参数列表可能在过去的某个时间点发生了更改(并且可能在将来再次更改,因为该类似乎不希望在cookielib
之外使用),至少help(cookielib.Cookie)
目前给了我注意附加的
expires
参数和rfc2109
参数,它们在上面@Michael的答案中使用,但没有记录在代码中,因此示例应该类似于(如果适用,还可以替换
None
的一些布尔常量)。看看cookielib,你会发现:
给出:
没有对实例化参数进行真正的健全性检查。端口必须是字符串,而不是int
相关问题 更多 >
编程相关推荐