2

例如,在处理程序中,我写道:

self.set_cookie('name', "value", domain=my_domain)

然后我在我的浏览器(谷歌浏览器)中得到这个 cookie 的值,我总是得到"value"而不是value.

如何设置不带引号的cookie?

4

1 回答 1

2

正如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 处理)可能因浏览器而异。

于 2013-03-18T12:43:22.400 回答