Java URLConnection: URL を変えずにプロキシを設定する
プロキシを Web サーバーとして指定せず、経路を別個の Java 接続オプションとして渡します。
実際のリソース 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 を決して呼ばない経路を構成できません。