浏览器发送一个类似于 fbm_123456=base_domain=.test.com;
的 cookie(这是由 Facebook Javascript SDK 设置的 cookie),这就是我从 FireBug 中看到的。
但是当我在服务器端读取它时,我的 cookie.getValue()
仅返回 base_domain
作为值,我的意思是 =.test。 com
部分丢失。所有其他 cookie 参数均为 null(这很好)。
这怎么可能?也许我错过了一些 cookies ,它是某种特殊的 cookies ?我怎样才能得到原始的cookie值?
最佳答案
cookie 无效。 Cookie 名称或值中不允许使用“=”字符。如果您使用 Tomcat,那么在更高版本中您可以使用以下系统属性来允许读取无效的 cookie:
-Dorg.apache.tomcat.util.http.ServerCookie.ALLOW_EQUALS_IN_VALUE=true
正确的cookie值应该是:
fbm_123456="base_domain=.test.com"
(注意引号)
关于java - 从 HttpServletRequest 获取损坏的 cookie 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10335052/