2008-11-12 2 views

답변

39

단위 시험과 용액 :

내가 기억 경우 자바 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; 
    } 
} 
+0

@ 데이비드 : 아니, 종종 사람들은 SO에 대한 더 많은 유용한 콘텐츠를 제공하기 위해, 이미에 대한 답을 알고 질문을. –

+0

그와 같은 경우에는 사과하십시오. 그리고 나서 솔루션을 공유해 주셔서 감사합니다 ... –

+0

@ brass-kazoo 연결이 거부되었습니다. 예외 :( – Xitrum

6

; 그래서 이것을 사용하여 java에서 ping을 구현할 수 있습니다. 이 메소드의 시간 초과를 지정할 수도 있습니다. 이것은 위에 게시 된 단위 테스트 방법에 대한 또 다른 대안으로 아마도 더 효율적입니다.

+3

isReachable은 사이트가 실제로 사이트가 실행되고있는 것은 아닙니다 (예 : 500이 아닌 200을 반환하는 것). –

+1

또한 단위 테스트는 효율적인 것보다 철저해야합니다 : -P –

-8
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/

+3

-1. 질문에 대답하지 않습니다. 전혀 : 게시 한 코드는 URL이 유효한지 검사합니다. 해당 URL에있는 호스트에 도달하거나 주어진 응답을 제공하는 경우가 아닙니다. –

+1

Th 그것은 오해의 소지가있는 대답 -1입니다. – Katianie