実際のリソース URL を保ち、プロキシは別個に URLConnection へ渡します。

URI destination = URI.create("https://example.com/report");
Proxy proxy = new Proxy(Proxy.Type.HTTP,
    new InetSocketAddress("203.0.113.10", 8080));
URLConnection connection = destination.toURL().openConnection(proxy);
connection.setConnectTimeout(5000);
connection.setReadTimeout(10000);

java.net のインポートを使い、ドキュメントのプロキシアドレスを自分の HTTP サービスかHTTP プロキシ一覧の候補に置き換えます。接続は依然として https://example.com/report を要求し、プロキシはその経路です。この設定は認証情報も JVM 内のすべての HTTP ライブラリも構成しません。

プロキシをリソース URL に代入する誤ったコードは、レポートの代わりにプロキシの簡易 Web ページやエラーを受け取ることがあります。その速い応答を優れた性能と解釈する前に、ステータス、内容、実際の宛先を比較してください。

openConnection(Proxy) はリソースのパスを宛先 URI に残します。HTTPS 証明書の検証にもそのホスト名を保ってください。中継者に変えると、ルーティングエラーに名前の不一致が加わる可能性があります。

アプリケーションが別の HTTP クライアントを構築する場合は、そのクライアントまたはその接続ファクトリのインターフェースを使ってください。URLConnection のプロキシオブジェクトは、この API を決して呼ばない経路を構成できません。

関連記事