Kor*_*red 2 python cookies bottle
我试图找出如何在Python Bottle应用程序中工作.请善待,因为我对Python很陌生.如何从我设置的cookie中读取值?
例:
@route('/cookie_setpage/')
def settingcookie():
response.set_cookie('Cookie_name','Some value')
return 'Set!'
@route('/cookie_readpage/')
def testingcookie():
r=request.get_cookie('Cookie_name')
return str(r)
Run Code Online (Sandbox Code Playgroud)
当我这样做时,我得到文本"无"作为返回,这似乎是默认值或其他东西.我怎么想从cookie获取文本'Some value' get_cookie?
bottle如果你没有指定它,就不会发送路径和cookie,这意味着浏览器负责决定path使用哪个cookie(由于某种原因,瓶子文档说明了其他的东西).
(如果您不知道路径是什么,请阅读本答案中的其他标题).
RFC 2109(搜索"解释Set-Cookie")指出Cookie 的默认路径是生成cookie的路径 - /cookie_setpage在您的情况下.
这当然意味着cookie没有被发送到/cookie_readpage.
要解决这个问题,只需在设置cookie时定义路径:
response.set_cookie('Cookie_name','Some value', path='/') # Your entire site.
Run Code Online (Sandbox Code Playgroud)
路径是cookie的属性.
浏览器只会将cookie发送到"低于"cookie路径的页面.
因此,如果您将cookie路径设置为/cookie_setpage,则/cookie_setpage/cookie_readpage获取cookie,但/cookie_readpage不是.
如果你把它设置为/,那么任何页面都会得到它,因为它是你网站的根目录.