자바를 사용하면 어떻게 URL에 연결 가능한지 테스트하고 유효한 응답을 반환 할 수 있습니까?프로그래밍 방식으로 HTTP 연결을 테스트하려면 어떻게해야합니까?
http://stackoverflow.com/about
자바를 사용하면 어떻게 URL에 연결 가능한지 테스트하고 유효한 응답을 반환 할 수 있습니까?프로그래밍 방식으로 HTTP 연결을 테스트하려면 어떻게해야합니까?
http://stackoverflow.com/about
단위 시험과 용액 :
내가 기억 경우 자바 5의 InetAdress 클래스의 isReachable()를 호출하는 방법을 포함하기 때문에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에서 ping을 구현할 수 있습니다. 이 메소드의 시간 초과를 지정할 수도 있습니다. 이것은 위에 게시 된 단위 테스트 방법에 대한 또 다른 대안으로 아마도 더 효율적입니다.
isReachable은 사이트가 실제로 사이트가 실행되고있는 것은 아닙니다 (예 : 500이 아닌 200을 반환하는 것). –
또한 단위 테스트는 효율적인 것보다 철저해야합니다 : -P –
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/
-1. 질문에 대답하지 않습니다. 전혀 : 게시 한 코드는 URL이 유효한지 검사합니다. 해당 URL에있는 호스트에 도달하거나 주어진 응답을 제공하는 경우가 아닙니다. –
Th 그것은 오해의 소지가있는 대답 -1입니다. – Katianie
@ 데이비드 : 아니, 종종 사람들은 SO에 대한 더 많은 유용한 콘텐츠를 제공하기 위해, 이미에 대한 답을 알고 질문을. –
그와 같은 경우에는 사과하십시오. 그리고 나서 솔루션을 공유해 주셔서 감사합니다 ... –
@ brass-kazoo 연결이 거부되었습니다. 예외 :( – Xitrum