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.
InformationsquelleAutor Tomáš K. | 2011-05-06
Schreibe einen Kommentar