Javaを使用して、URLが接続可能であり、有効な応答を返すことをテストするにはどうすればよいですか?
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();というメソッドが含まれているため、これを使用してJavaでpingを実装できます。このメソッドのタイムアウトを指定することもできます。これは、上記のユニットテスト方法のもう1つの代替手段であり、おそらくより効率的です。