Как проверить прокси-подключение к Интернету с помощью Java? - PullRequest
4 голосов
/ 18 октября 2010

У меня есть некоторый код для проверки работоспособности прокси-сервера и порта, часть кода выглядит так:

System.getProperties().put("proxySet", "true");
System.getProperties().put("https.proxyHost", "localhost");
System.getProperties().put("https.proxyPort", "1234");
System.getProperties().put("http.proxyHost", "localhost");
System.getProperties().put("http.proxyPort", "1234");
HttpURLConnection conn = (HttpURLConnection) new URL("https://www.google.com").openConnection();
conn.getContent();
conn.disconnect();

похоже, что метод openConnection () будет работать примерно так:

  1. попробуйте подключить данный URL с помощью прокси.
  2. если он не использует прокси, он подключит URL напрямую без прокси .

в этом проблема, я хотел проверить, работает ли прокси, но этот код не остановится, если прокси не сможет подключиться.

Я также пытался использовать метод isReachable () класса InetAddress, но получаю тот же результат.

так, как я могу остановить это соединение, если прокси не работает, чтобы проверить, доступен ли прокси?

Ответы [ 2 ]

3 голосов
/ 22 октября 2010
System.getProperties().put("proxySet", "true");

Тот, кто ничего не делает. Это городской миф. Он был частью несуществующего боба HotJava 1997 года и просочился оттуда в различные книги. Это никогда не было частью какого-либо JDK. Попробуйте установить его на false в ситуации, когда вам это нужно, и убедитесь сами.

1 голос
/ 18 октября 2010

Извините, ребята, я нашел способ сделать это.Я использовал java.net.Proxy класс, чтобы открыть соединение через прокси.Он прост в использовании и отлично работает.См. Сеть Java и прокси

...