0

我的 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 在发送实际 HTTPS 请求之前发送了空的 HTTPS 请求。同样,这只发生在 Java 7 更新 51 之后。

4

1 回答 1

0

空 HTTPS 请求的根本原因在 JNLP 代码行下方。

**<jnlp codebase="https://20.107.21.23:443" spec="1.0+">**

通过两种方式找到解决方案。

  1. Web 服务器代码的更改 当 Web 服务器收到空的 HTTPS 请求时,不要为该请求设置 cookie。

  2. 更改 JNLP 文件中的代码库属性值,如下所示

    **<jnlp codebase="https://*20.107.21.23:443" spec="1.0+">**
    

    或者

    **<jnlp codebase="https://20.107.21.23:443/*" spec="1.0+">** 
    
于 2014-05-28T14:45:59.053 回答