JVM-Proxy-Eigenschaften für Java-URL-Verbindungen
Unterscheiden Sie Shell-Proxy-Variablen von den JVM-Eigenschaften, die Java-URL-Verbindungen verwenden.
Eine Shell-Variable und eine JVM-Systemeigenschaft sind unterschiedliche Konfigurationseingaben. Das Exportieren von http_proxy für curl richtet http.proxyHost nicht in einem Java-URLConnection-Client ein.
Für eine JVM, deren beteiligte HTTP-Verbindungen eine feste Route verwenden sollen, können Startargumente die Wahl explizit machen:
java -Dhttp.proxyHost=203.0.113.10 -Dhttp.proxyPort=8080 \
-Dhttps.proxyHost=203.0.113.10 -Dhttps.proxyPort=8080 \
-jar application.jarDer Endpunkt ist illustrativ; öffentliche HTTP-Kandidaten aus der HTTP-Proxy-Liste können diese Felder füllen, wenn die Anwendung diese Route zulässt. Die Host-Eigenschaft nimmt einen Hostnamen oder eine IP-Adresse entgegen, wobei der Port separat angegeben wird. Es ist keine vollständige Proxy-URL.
Authentifizierung und Bypass-Regeln benötigen ihre eigene Konfiguration. Schließen Sie nicht daraus, dass eine undokumentierte http.proxyPassword-Eigenschaft funktioniert, nur weil ein altes Beispiel sie enthält. Konsultieren Sie die dokumentierte Authentifizierungs-API und die Netzwerkeigenschaften Ihres JDK.
Dies gilt für beteiligte Java-Netzwerkpfade. Eine Bibliothek mit einem unabhängig konfigurierten HTTP-Client kann einer anderen Richtlinie folgen. Identifizieren Sie diesen Client, bevor Sie Zeit damit verbringen, jede Shell-Variable in ein JVM-Argument zu übersetzen.