Java URL 连接的 JVM 代理属性
区分 Shell 代理变量与 Java URL 连接所使用的 JVM 属性。
Shell 变量和 JVM 系统属性是不同的配置输入。为 curl 导出 http_proxy 并不会在 Java URLConnection 客户端内部建立 http.proxyHost。
如果某个 JVM 中参与联网的 HTTP 连接应走固定路径,启动参数可以把这一选择明确表达出来:
java -Dhttp.proxyHost=203.0.113.10 -Dhttp.proxyPort=8080 \
-Dhttps.proxyHost=203.0.113.10 -Dhttps.proxyPort=8080 \
-jar application.jar该端点仅作示例;当应用允许该路径时,可以使用 HTTP 代理列表中的公共 HTTP 候选来填写这些字段。主机属性接受主机名或 IP 地址,端口需单独提供。它不是完整的代理 URL。
认证和绕过规则需要各自的配置。不要仅因为某个旧示例包含未文档化的 http.proxyPassword 属性,就推断它一定有效。请查阅你所使用 JDK 的官方认证 API 和网络属性文档。
这适用于参与联网的 Java 路径。若某个库独立配置了自己的 HTTP 客户端,它可能遵循另一套策略。在花时间把每个 Shell 变量都翻译成 JVM 参数之前,先确认那个客户端。