Использование Java, как я могу проверить, что URL-адрес является контактным, и возвращает действительный ответ?Как я могу программно протестировать HTTP-соединение?
http://stackoverflow.com/about
Использование Java, как я могу проверить, что URL-адрес является контактным, и возвращает действительный ответ?Как я могу программно протестировать HTTP-соединение?
http://stackoverflow.com/about
Раствор в качестве модульного теста:
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;
}
}
Поскольку Java 5, если я помню, класс InetAdress содержит метод, называемый isReachable(); поэтому вы можете использовать его для реализации ping в java. Вы также можете указать время ожидания для этого метода. Это еще одна альтернатива описанному выше методу единичного теста, который, вероятно, более эффективен.
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/
@David: Нет, часто люди задают вопросы, которые они уже знают ответ на, только чтобы обеспечить более полезный контент для SO. – 2008-11-12 23:58:08
Достаточно далеко, приносим извинения за комментарий в этом случае. И спасибо за совместное решение ... – 2008-11-13 00:01:26
@ brass-kazoo Я получил отказ от отказа :( – Xitrum 2012-10-27 11:35:47