3

下面是我在瓶中设置和读取 cookie 的代码。

if request.get_cookie('mycookiename'):
        cookie_id = request.get_cookie('mycookiename')
    else:
        cookie_id=str(uuid4())
        response.set_cookie('mycookiename', cookie_id , max_age=31556952*2, domain='%s' % (cookie_domain))

当我去firefox和firebug时,我可以看到cookie已设置。但是,当我刷新页面时,我得到了一个新的 cookie。每个请求都是一个新的 cookie id。

那么,我该如何解决呢?

4

1 回答 1

1

此代码有效。如果您尚未定义 cookie,则使用 uuid4 设置新值 cookie。

在您的代码中,我猜您的“其他”条件很糟糕。

# -*- coding: utf-8 -*-
#!/usr/bin/env python
from uuid import uuid4
import bottle

@bottle.route('/cookie')
    def cookie():
        cookie_id = bottle.request.get_cookie('mycookiename', str(uuid4()))
        bottle.response.set_cookie('mycookiename', cookie_id)
        return 'hello cookie'

if __name__ == '__main__':
    bottle.run(host='localhost', port=8080)
于 2012-09-09T15:14:17.013 回答