0

私の Java アプリケーションは Java Web Start を介して実行され、ブラウザのセッション ID を使用して Web サーバーからファイルをダウンロードしています。Java 7 update 51 より前では正常に動作しますが、Java 7 update 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 update 51 より前では問題なく動作します。

Java 7 update 51 で HTTPS URL 接続に関連する変更はありますか?

実際の HTTPS リクエストを送信する前に、Java Web Start が空の HTTPS リクエストを送信しているようです。繰り返しますが、これは Java 7 update 51 の後にのみ発生します。

4

1 に答える 1

0

空の HTTPS リクエストの根本原因は、JNLP コードの行の下にあります。

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

2つの方法で解決策を見つけました。

  1. Web サーバー コードの変更 Web サーバーが空の HTTPS リクエストを受信した場合、そのリクエストに対して Cookie を設定しないようにしました。

  2. JNLP ファイルの codebase 属性値を次のように変更します。

    **<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 に答える