Java system Properties, http.proxyHost, zwei Fragen
Ich entwickle eine Java-Anwendung, die HTTP-Anforderungen, und die Hälfte meiner Entwicklung Zeit ist hinter einem proxy. Also ich habe den folgenden block in meinem code:
if (BEHIND_PROXY) {
java.util.Properties systemProperties = System.getProperties();
systemProperties.setProperty("http.proxyHost", PROXY_HOST);
systemProperties.setProperty("http.proxyPort", PROXY_PORT);
}
Die Idee ist, dass ich den Wert ändern von BEHIND_PROXY
je nachdem, wo ich bin. Ich war arbeiten heute, nicht hinter einem proxy, und vergessen, legen Sie BEHIND_PROXY
zu false
. Aber die Verbindung war noch erfolgreich hergestellt und mein Antrag erhielt die Daten, die Sie angefordert. Wie ist das möglich? Gibt es etwas in diesem, dass, wenn der proxy-server kann nicht erreicht werden, es einfach nochmal versucht, aber umgeht den proxy auf das wiederholen?
Und noch eine zweite Frage, ich habe versucht Sie finden eine vollständige Liste der system-Eigenschaften. Ich fand viele posts wie DIESE eins, aber nicht einer von Ihnen Listen http.proxyHost
oder http.proxyPort
, die macht mich denken, Sie sind deutlich nicht ganz abgeschlossen. Ich Suche irgendwie falsch? Diese http.x
Eigenschaften gehören in diese anderen Listen? Gibt es eine vollständige Liste irgendwo?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es etwas in diesem, dass, wenn der proxy-server kann nicht erreicht werden, es einfach nochmal versucht, aber umgeht den proxy auf das wiederholen?
Ja.
Ich war überrascht, dies zu sehen, aber hier ist in der Quelle die interne Verbindung:
Sonne.net.www.Protokoll.http.HttpURLConnection. Auf der Linie 760, wenn wir versucht haben, alle verfügbaren Proxys und konnte keine Verbindung herstellen, versuchen wir, ein nicht-Proxy-Verbindung.
Bin ich auf der Suche irgendwie falsch?
Vielleicht. Richtig oder falsch, die Java-Philosophie scheint zu sein, dass system-Eigenschaften von ad-hoc-Dinge und der einzige Weg, zu wissen, dass eine vorhanden ist, Lesen Sie die Dokumentation für die Sache, die es betrifft. In diesem Fall HttpURLConnection links zu einer Seite, auf Networking Eigenschaften.