Wie man proxy-Einstellungen aus den Systemeinstellungen in Java
Ich bin auf der Suche form die Art und Weise, wie man die system-proxy-Informationen in Java unter Windows, aber ich habe festgestellt, dass nur ein Weg. Aber es funktioniert nicht für mich.
public static void main(String[] args) throws Throwable {
System.setProperty("java.net.useSystemProxies", "true");
System.out.println("detecting proxies");
List<Proxy> pl = ProxySelector.getDefault().select(new URI("http://ihned.cz/"));
for (Proxy p : pl)
System.out.println(p);
Proxy p = null;
if (pl.size() > 0) //uses first one
p = pl.get(0);
System.out.println(p.address());
System.out.println("Done");
}
Wenn ich das Programm starte, bekomme ich:
detecting proxies
DIRECT
null
Done
Java bedeutet, dass ich mich direkt im internet. Aber es ist falsch. Ich bin hinter proxy. Ich bin nicht in der Lage, um die Lösung für mein computer.
- Überprüfen Sie zunächst, ob windows wirklich weiß, über Ihre proxy:
netsh winhttp show proxy
(dieser listet die system-wide-proxies, die java verwenden, in Ihrem Beispiel) - Es sagt
Following command was not found: winhttp
- Woher wissen Sie, dass Sie sich hinter einem proxy dann? Wird es ein http-proxy? Sie haben es in Ihrem browser?
- Ja, ich weiß. Browser (MSIE noch Firefox) verwendet das Skript für automatische Einstellung. Kann es der Grund sein? MSIE ist eng verbunden mit Windows, aber die Einstellungen sind wahrscheinlich angewendet nur für den browser, nicht für die gesamte Umwelt.
- Exaktly! Es ist nur für den browser.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wie wir diskutiert in den Kommentaren die proxy-Einstellungen wird nur angewendet bei einigen der Browser, die Sie verwenden.
Wenn Sie möchten, können Sie Java verwenden Sie die gleichen Einstellungen müssen Sie manuell legen Sie Sie in die java-Netzwerk-Einstellungen (überprüfen Sie diese web-Seite für details).
Dank Dacwe. Das problem ist, dass browser wird nicht verwendet die system-proxy, aber es setzt der proxy selbst mit einem script. Es gibt also nicht alle Proxy-Server in das system und die Java Sie nicht erreichen kann.