繁体   English   中英

Java Web Start应用程序无法检索Set-Cookie的cookie值

[英]Java web start application failed to retrieve cookie value of Set-Cookie

我在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.net.CookieHandler.setDefault(null);

参考:

客户端不使用Windows的JRE 1.7使用URLConnection发送会话cookie

希望这对某人有所帮助。

标头中的HttpOnly标志必须未设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM