SSL を使用する Web サイトに接続しようとしています。この接続は、プロキシ認証も必要とするプロキシ (squid) 経由です。
現在、アプリ内の接続に HttpsUrlConnection を使用していますが、可能であれば引き続きこれを使用したいと考えています。
この問題は、connection.open(" https://domain.com ") を使用して接続を行うときに発生します。HTTP CONNECT は、通常、"Proxy-Authentication" を含むヘッダーを設定する直前に送信されます。 getOutputStream が呼び出されるまで http 接続は何も送信されないため、このヘッダーを設定するだけで機能します。
これには、正しい名前とパスワードを返す defaultAuthenticator を設定できます。ただし、これには 2 つの問題があります。
アプリケーションは、未知の他のアプリケーションを含む Web サーバー内で実行されている Web アプリケーションです。デフォルトのオーセンティケーターを設定すると、他のアプリケーションに影響しますか? (同じ理由で、システムプロパティの設定はアウトです)
また、異なる接続で異なるプロキシを使用する機能も必要です。たとえば、proxy1.domain.com に接続する接続と、proxy2.domain.com に接続する別の接続があり、それぞれが異なる資格情報を持っている場合があります。
これを達成する正しい方法は何ですか?広く使用されている HttpUrlConnection でこれが不可能だったとしたら、非常に驚くでしょう。