Как я могу программно проверить соединение HTTP? - PullRequest
19 голосов
/ 13 ноября 2008

Используя Java, как я могу проверить, что URL-адрес доступен и возвращает правильный ответ?

http://stackoverflow.com/about

Ответы [ 3 ]

40 голосов
/ 13 ноября 2008

Решение в виде модульного теста:

public void testURL() throws Exception {
    String strUrl = "http://stackoverflow.com/about";

    try {
        URL url = new URL(strUrl);
        HttpURLConnection urlConn = (HttpURLConnection) url.openConnection();
        urlConn.connect();

        assertEquals(HttpURLConnection.HTTP_OK, urlConn.getResponseCode());
    } catch (IOException e) {
        System.err.println("Error creating HTTP connection");
        e.printStackTrace();
        throw e;
    }
}
6 голосов
/ 13 ноября 2008

Начиная с Java 5, если я помню, класс InetAdress содержит метод isReachable (); так что вы можете использовать его для реализации ping в Java. Вы также можете указать время ожидания для этого метода. Это просто еще одна альтернатива описанному выше методу модульного тестирования, который, вероятно, более эффективен.

0 голосов
/ 23 июня 2011
import org.apache.commons.validator.UrlValidator;

public class ValidateUrlExample {

    public static void main(String[] args) {

        UrlValidator urlValidator = new UrlValidator();

        //valid URL
        if (urlValidator.isValid("http://www.mkyong.com")) {
            System.out.println("url is valid");
        } else {
            System.out.println("url is invalid");
        }

        //invalid URL
        if (urlValidator.isValid("http://invalidURL^$&%$&^")) {
            System.out.println("url is valid");
        } else {
            System.out.println("url is invalid");
        }
    }
}

Выход:

url is valid
url is invalid

источник: http://www.mkyong.com/java/how-to-validate-url-in-java/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...