检查网址是否已启动?
我需要检查一个特定的url是否启动。 URL的格式是这样检查网址是否已启动?
http://IP:port
当我使用java.net.URL
类,然后我得到java.net.SocketException
或java.net.ConnectException
。
当我ping这些IP时,我发现它们然后为什么java不能识别它们?
我写的代码是
URL url = new URL(urlString);
HttpURLConnection httpConn = (HttpURLConnection)url.openConnection();
httpConn.setInstanceFollowRedirects(false);
httpConn.setRequestMethod("HEAD");
httpConn.connect();
端口号必须使用! 如何使用java检查它们?
工作就好在这里:
或失败:
URL url = new URL("http://google.com:666/");
HttpURLConnection httpConn = (HttpURLConnection)url.openConnection();
httpConn.setInstanceFollowRedirects(false);
httpConn.setRequestMethod("HEAD");
try{
httpConn.connect();
System.out.println("google.com : " + httpConn.getResponseCode());
}catch(java.net.ConnectException e){
System.out.println("google.com:666 is down ");
}
是的。但是我必须这样做端口号! – Rites 2010-10-26 15:11:52
也许有别的事情上,但我发现这个页面有它做的正是你想要的: http://www.rgagnon.com/javadetails/java-0059.html
他们没有端口号的URL虽然。
你能分享一下ip:port还是内部的?你能找到一个我们可以测试的例子吗? – 2010-10-26 15:02:29
这可能是因为服务器是启动和运行(响应平),但没有HTTP服务器在那个港口聆听。
您确实发现ConnectException信号从机器的角度看这个代码正在运行,URL是“不是”,对吧?如果“不能启动”的定义是“无法从本机连接”。 – 2010-10-26 15:06:48