下面是我在瓶中设置和读取 cookies 的代码。
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。
那么,我该如何解决呢?
最佳答案
此代码有效。如果您还没有定义 cookie,则可以使用 uuid4 设置新值 cookie。
在你的代码中,我猜你的“else”条件不好。
# -*- 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)
关于Python- bottle - cookies keep changing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11730580/