Как получить настройки прокси из системных настроек в Java - PullRequest
9 голосов
/ 06 мая 2011

Я ищу способ получения информации о прокси системы в Java под Windows, но я нашел только один способ. Но это не работает для меня.

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");
}

Когда я запускаю программу, я получаю:

detecting proxies
DIRECT
null
Done

Ява означает, что я нахожусь прямо в интернете. Но это неправильно. Я за прокси. Я не могу найти решение для своего компьютера.

Ответы [ 2 ]

6 голосов
/ 26 мая 2011

Как мы обсуждали в комментариях, настройки прокси применяются только для некоторых браузеров, которые вы используете.

Если вы хотите, чтобы в Java использовались те же настройки, вам нужно вручную включить их в сетевые настройки Java (подробности см. на этой веб-странице).

2 голосов
/ 26 мая 2011

Благодаря Dacwe. Проблема заключается в том, что браузер не использует какой-либо системный прокси-сервер, но устанавливает собственный прокси-сервер с помощью сценария. Таким образом, в системе нет никаких прокси, и Java не может связаться с ними.

...