检测有效的URL

时间:2011-06-02 08:12:47

标签: java networking

  

可能重复:
  Java HTTP getResponseCode returns 200 for non-existent URL

您好,我的目标是构建一个确定HTML链接有效性的应用程序,但是在以下代码中:

try
{     
 // create the HttpURLConnection
 URL url = new URL("http://www.thisurldoesnotexist");
 HttpURLConnection connection = (HttpURLConnection) url.openConnection();
 System.out.println("Response code is " + connection.getResponseCode());
} 

无意义的网址正在解析为我没想到的IP地址,代码返回产品:“响应代码为200”

似乎我区分实际页面和不存在页面的方法存在缺陷。有谁知道我是否使用错误的工具来确定网页的有效性。 。 。即,是否有更好的方法来区分现有和不存在的网页。 。 。非常感谢,

1 个答案:

答案 0 :(得分:0)

你可以:

  1. 从页面主机解析IP
  2. 尝试使用普通套接字连接到已解析IP上的端口80
  3. 然而,这将增加复杂性,因为您需要通过套接字发出简单的GET请求。然后验证响应,以确保它实际上是在端口80上运行的HTTP服务器。

    NMap也许可以帮到你。