使用 Proxy.NO_PROXY 为单个 Java URLConnection 绕过代理
对受支持的 URL 连接使用 Proxy.NO_PROXY,无需临时更改 JVM 共享的代理设置。
对于受支持的 HTTP 或 HTTPS URL 连接,传入 Proxy.NO_PROXY 使直接连接的选择变得明确:
URLConnection connection = URI.create("https://example.com/")
.toURL().openConnection(Proxy.NO_PROXY);
connection.setConnectTimeout(5000);
connection.setReadTimeout(10000);这样就不必围着一次操作执行全局的设置与还原序列。其他线程可以继续使用应用现有的代理策略。
该参数只作用于这条 URLConnection 路径。它不会改变另一个 HTTP 客户端的构建器、其他库的套接字,也不会改变操作系统的网络配置。
如果网络要求通过代理访问外部资源,直连仍可能失败。请把这种失败与代理身份验证错误区分开:本次操作是有意跳过代理的。
同时请保留针对 HTTPS 目标的常规 TLS 验证。选择直连只改变中间链路,不会改变目标证书必须确立的身份。