【问题标题】:Java web start application failed to retrieve cookie value of Set-CookieJava web 启动应用程序未能检索到 Set-Cookie 的 cookie 值
【发布时间】:2015-06-17 03:39:52
【问题描述】:

我遇到了与 Java Web Start 应用程序有关的会话问题。

java web start 应用程序将通过带有 URLConnection java 类的 http(不是 https)连接到服务器。

建立连接后,我从 java 控制台中找到了以下日志

network: Server http://x.x.x.x:xxxx/xxxx/xx/xxx requesting to set-cookie with   
    "JSESSIONID=xxxxxxxxxxxxxxx"; Path=/xxx/; HttpOnly"

然而,在代码中,Set-Cookie 的值是一个空字符串

URLConnection urlConn = url.openConnection();

urlConn.setUseCaches(false);
urlConn.setDoOutput(true);
urlConn.setDoInput(true);

urlConn.setRequestProperty("Content-Type", "application/java-serialized-object");

ObjectOutputStream out = new ObjectOutputStream(new BufferedOutputStream(urlConn.getOutputStream()));

out.writeObject(input);
out.flush();
out.close();

String cookieval = urlConn.getHeaderField("Set-Cookie");

if(cookieval == null)
    System.out.println("Set-Cookie is null");   
else if("".equals(cookieval))
    System.out.println("Set-Cookie is empty");

控制台输出:

Set-Cookie is empty

Java web start 使用的 JRE 是 1.7.0.67

知道如何检索 Set-Cookie 值吗?

【问题讨论】:

    标签: java cookies java-web-start


    【解决方案1】:

    好的,只是设法找到了答案。通过添加以下行来修复它

    java.net.CookieHandler.setDefault(null);
    

    参考:

    Session cookie not send back by client using URLConnection in windows with JRE 1.7

    希望这对某人有所帮助。

    【讨论】:

      【解决方案2】:

      标头中的 HttpOnly 标志必须取消设置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-16
        • 1970-01-01
        • 1970-01-01
        • 2017-07-31
        相关资源
        最近更新 更多