创建一个持续到浏览器关闭的cookie(Session Cookie?)

时间:2011-04-14 22:24:18

标签: python browser cookies

我熟悉在Python中分配,创建cookie。但我不确定如何创建一个可以持续到当前浏览器会话关闭的cookie(所以我有一个非常基本的方式来告诉用户返回到我的网站)。

我设置哪个cookie标头以确保在Python中关闭浏览器时cookie将过期/删除?我是否使用SimpleCookie对象或其他对象?

这个帖子说我在PHP中设置了cookie_lifetime标志/标题,但对于python呢? http://bytes.com/topic/php/answers/595383-how-declare-cookie-will-destroy-after-browser-closed

这会创建一个在关闭浏览器时到期的cookie吗?

cookie  = Cookie.SimpleCookie()
cookie["test"] = "MYTEST"
cookie["test"]['expires'] = 0 # or shd I set the max-age header instead?
print str(cookie) + "; httponly"

2 个答案:

答案 0 :(得分:5)

完全忽略“过期”值,即不要将其设置为任何值。有关详细信息,请参阅Wikipedia entry

  

Set-Cookie:made_write_conn = 1295214458;路径= /;域= .foo.com中

     

[...]

     

第二个cookie made_write_conn没有到期日期,使其成为会话cookie。用户关闭浏览器后将删除它

在Python中:

In [11]: from Cookie import SimpleCookie

In [12]: c = SimpleCookie()

In [13]: c['test'] = 'MYTEST'

In [14]: print c
Set-Cookie: test=MYTEST

答案 1 :(得分:1)

麦克,

您的回答对我来说是正确的。在Morsel对象上设置“expires”= 0应该可以做你想要的。你测试过了吗?

看起来IE不支持max-age:

http://mrcoles.com/blog/cookies-max-age-vs-expires/