0

我正在尝试使用 Python Cookie 库,但它似乎不支持 expire 属性的标准日期格式(RFC 822)。例如,在 Python 提示符中:

>>> import Cookie
>>> cookie = Cookie.SimpleCookie('bcookie="123"; Expires=Sat, 14-Jun-2014 23:03:13 GMT;')
>>> cookie['bcookie']['expires']
'Sat,'

这是一个标准标题,但它处理日期到第一个空格。难道我做错了什么?我需要完整的 expire 属性,如果不需要的话,我不想编写自己的 cookie 库。

4

2 回答 2

2

根据 Doug Hellman 的优秀Python Module of the Week 网站,正确用法是

c = Cookie.SimpleCookie()
expires = datetime.datetime.now() + datetime.timedelta(hours=1)
c['bcookie']['expires'] = expires.strftime('%a, %d %b %Y %H:%M:%S') # Wdy, DD-Mon-YY HH:MM:SS GMT

我什至无法弄清楚您的论点SimpleCookie试图做什么,但 PyMOTW 是一个很好的辅助资源,因为主要文档可能有点密集。

于 2012-06-15T18:46:09.807 回答
1

我在同样的问题上苦苦挣扎。我只是在使用headers['set-cookie']并创建一个Cookie.SimpleCookie.

过了一会儿,我意识到我正在消费的网站没有引用日期。

这是我尝试过的解决方案:

cookie = Cookie.SimpleCookie('bcookie="123"; Expires="Sat, 14-Jun-2014 23:03:13 GMT";')

不幸的是,这并不能解决我的核心问题。但是,至少我明白为什么。

于 2013-02-12T05:20:58.623 回答