我的Java应用程序通过Java Web start运行,我使用浏览器的会话ID从Web服务器下载文件。它在Java 7更新51之前工作正常但在Java 7更新51上失败。这是代码。 HTTP URL没有问题。问题只发生在HTTPSURL上。
当Java应用程序与HTTPS URL建立连接时,Web服务器不会将URL视为有效URL。
URL webURL = new URL(m_url);
conn = webURL.openConnection();
conn.setRequestProperty("Cookie", cookie);
Cookie具有有效的会话ID。再次,这在Java 7更新之前可以正常工作51。
与HTTPS URL连接相关的Java 7更新51有什么变化吗?
似乎是Java Web start在发送实际的HTTPS请求之前发送空的HTTPS请求。这种情况再次发生在Java 7更新51之后。
答案 0 :(得分:0)
空HTTPS请求的根本原因是在JNLP代码行之下。
**<jnlp codebase="https://20.107.21.23:443" spec="1.0+">**
以两种方式找到解决方案。
网络服务器代码的变化 当Web服务器收到空的HTTPS请求时,请不要为该请求设置cookie。
在JNLP文件中更改代码库属性值,如下所示
**<jnlp codebase="https://*20.107.21.23:443" spec="1.0+">**
或
**<jnlp codebase="https://20.107.21.23:443/*" spec="1.0+">**