HttpURLConnection がプロキシを使用して認証を処理することを確認するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-08 15:25:01
オリジナル
929 人が閲覧しました

How to Ensure HttpURLConnection Utilizes a Proxy and Handles Authentication?

HttpURLConnection のプロキシ接続の確立

HttpURLConnection がプロキシを使用しているかどうかを判断しようとすると、次のコードが誤って false を返す可能性があります:

conn = new URL(urlString).openConnection();
System.out.println("Proxy? " + conn.usingProxy());
ログイン後にコピー

この現象は、プロキシ サーバーを介して接続しているにもかかわらず発生します。 Java 仮想マシン (JVM) は通常、オペレーティング システムの設定からプロキシ情報を取得します。ただし、特定の状況では、JVM がプロキシ構成を認識しない可能性があります。

プロキシと JVM プロキシ設定

HttpURLConnection が適切なプロキシを使用できるようにするには、明示的に指定する必要があります。プロキシ情報。これは、Proxy インスタンスを構築し、それを openConnection(proxy) メソッドに渡すことで実現できます。

//Proxy instance, proxy ip = 10.0.0.1 with port 8080
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("10.0.0.1", 8080));
conn = new URL(urlString).openConnection(proxy);
ログイン後にコピー

プロキシ接続の認証

プロキシが認証を必要とする場合、HttpURLConnection は、 407 応答コード。この問題を解決するには、オーセンティケーターを次のように構成できます:

Authenticator authenticator = new Authenticator() {

    public PasswordAuthentication getPasswordAuthentication() {
        return (new PasswordAuthentication("user",
                "password".toCharArray()));
    }
};
Authenticator.setDefault(authenticator);
ログイン後にコピー

以上がHttpURLConnection がプロキシを使用して認証を処理することを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート