例如,在处理程序中,我写道:
self.set_cookie('name', "value", domain=my_domain)
然后我在我的浏览器(谷歌浏览器)中得到这个 cookie 的值,我总是得到"value"
而不是value
.
如何设置不带引号的cookie?
正如RFC6265所述,cookie 值可以是双引号或完全不加引号(参见下面语法定义的 BNF 部分),并且两者在语法上都是有效的,因此这是必须在客户端解决的问题。
cookie-pair = cookie-name "=" cookie-value
cookie-name = token
cookie-value = *cookie-octet / ( DQUOTE *cookie-octet DQUOTE )
cookie-octet = %x21 / %x23-2B / %x2D-3A / %x3C-5B / %x5D-7E
; US-ASCII characters excluding CTLs,
; whitespace DQUOTE, comma, semicolon,
; and backslash
token = <token, defined in [RFC2616], Section 2.2>
Cookie 版本 1 声明对包含空格的值使用双引号 cookie 值,而 cookie 版本 0 使用带有编码字符的不带引号的值(空格为 %20),并且这种行为(cookie 处理)可能因浏览器而异。