2010-10-26 125 views
0

我需要检查一个特定的url是否启动。 URL的格式是这样检查网址是否已启动?

http://IP:port 

当我使用java.net.URL类,然后我得到java.net.SocketExceptionjava.net.ConnectException

当我ping这些IP时,我发现它们然后为什么java不能识别它们?

我写的代码是

URL url = new URL(urlString); 
HttpURLConnection httpConn = (HttpURLConnection)url.openConnection(); 
httpConn.setInstanceFollowRedirects(false); 
httpConn.setRequestMethod("HEAD"); 
httpConn.connect(); 

端口号必须使用! 如何使用java检查它们?

+0

您确实发现ConnectException信号从机器的角度看这个代码正在运行,URL是“不是”,对吧?如果“不能启动”的定义是“无法从本机连接”。 – 2010-10-26 15:06:48

回答

1

工作就好在这里:

或失败:

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 "); 
} 
+0

是的。但是我必须这样做端口号! – Rites 2010-10-26 15:11:52

0

也许有别的事情上,但我发现这个页面有它做的正是你想要的: http://www.rgagnon.com/javadetails/java-0059.html

他们没有端口号的URL虽然。

+0

你能分享一下ip:port还是内部的?你能找到一个我们可以测试的例子吗? – 2010-10-26 15:02:29

1

这可能是因为服务器是启动和运行(响应平),但没有HTTP服务器在那个港口聆听。