0

当我在 Glassfish 3.1.2 下的 JAX-RS 应用程序中调用 HttpServletRequest getCookies() 方法时,iOS 设备(5 和 6)总是返回 null。

据我所知,我已经在 iOS 设备上启用了 cookie,它们存储在设备上,但它们不会随请求一起发送。Cookie 在桌面浏览器上运行良好。

关于如何使 cookie 过来以使 getCookies 不返回 null 的任何想法?

4

1 回答 1

0

我想通了,原来cookies的路径一开始就缺少/。一些浏览器将其视为无效而拒绝,另一些浏览器接受它但永远不会返回它,还有一些浏览器接受它并返回它。

我终于用下面的代码来追踪它:

import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.methods.GetMethod;


public class CheckCookies 
{
    public static void main(final String[] argv ) 
        throws Exception
    {
        HttpMethod method;
        HttpClient client;

        method = new GetMethod(argv[0]);
        client = new HttpClient();
        client.executeMethod(method);
    }
}

这引发了一个异常,告诉我 cookie 无效,因为它XXX不是/XXX

于 2013-03-10T16:38:26.307 回答