サポートされている HTTP または HTTPS の URL 接続では、Proxy.NO_PROXY を渡すことで直接接続という選択が明示されます:

URLConnection connection = URI.create("https://example.com/")
    .toURL().openConnection(Proxy.NO_PROXY);
connection.setConnectTimeout(5000);
connection.setReadTimeout(10000);

これにより、1 回の操作の前後でグローバルに設定して元に戻す手順を避けられます。他のスレッドはアプリケーションの既存のプロキシ ポリシーを使い続けられます。

この引数はこの URLConnection の経路にのみ適用されます。別の HTTP クライアントのビルダー、別のライブラリのソケット、オペレーティング システムのネットワーク構成は変更しません。

ネットワークが外部アクセスにプロキシを必要とする場合、直接接続は依然として失敗する可能性があります。その失敗はプロキシ認証エラーとは区別してください。この操作は意図的にプロキシをスキップしています。

また、HTTPS 宛先の通常の TLS 検証は維持してください。直接経路を選ぶと中間経路は変わりますが、宛先証明書が確立すべき ID は変わりません。

関連記事