从HttpServletRequest获取损坏的cookie值

时间:2012-04-26 14:01:14

标签: java servlets

浏览器会发送一个像fbm_123456=base_domain=.test.com;这样的cookie(它是一个由Facebook Javascript SDK设置的cookie),它是我从FireBug看到的。

但是当我在服务器端阅读时,我的cookie.getValue()仅返回base_domain作为值,我的意思是=.test.com部分丢失了。所有其他cookie参数都为空(这很好)。

怎么可能?也许我错过了一些饼干,它是某种特殊的饼干?我如何获得原始cookie值?

1 个答案:

答案 0 :(得分:1)

Cookie无效。 cookie名称或值中不允许使用'='字符。如果您使用的是Tomcat,那么在以后的版本中,您可以使用以下系统属性来读取无效的cookie:

-Dorg.apache.tomcat.util.http.ServerCookie.ALLOW_EQUALS_IN_VALUE=true

正确的cookie值应为:

fbm_123456="base_domain=.test.com"

(注意引号)