Функция Java для определения допустимой веб-страницы

#java

#java

Вопрос:

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

Существует ли функция Java, которая определяет, соответствует ли URL-адрес допустимой странице . . . большое спасибо,

Джоэл

Комментарии:

1. Пример «законной» или «валидной» ссылки? Как насчет публикации некоторого кода?

Ответ №1:

HttpURLConnection#getResponseCode выдаст вам код состояния HTTP

Ответ №2:

Вы можете получить код ответа HTTP для URL-адреса следующим образом:

 public static int getResponseCode(URL url) throws IOException {
  URLConnection conn = url.openConnection();
  if (!(conn instanceof HttpURLConnection)) {
    throw new IllegalArgumentException("not an HTTP url: "   url);
  }
  HttpURLConnection httpConn = (HttpURLConnection) conn;
  return httpConn.getResponseCode();
}
  

Теперь вопрос в том, что вы считаете «допустимой» веб-страницей? Для меня, если URL-адрес анализируется правильно, и его протокол «http» (или https) и его код ответа находится в блоке 200 или 302 (найден / перенаправлен) или 304 (не изменен), то он действителен:

 public boolean isValidHttpResponseCode(int code) {
    return ((code / 100) == 2) || (code == 302) || (code == 304);
}