检查URL是否存在(方法不适用于“http://”字符串)

时间:2012-05-24 19:32:56

标签: java network-programming

在Java中,我正在尝试验证URL是否存在。我这样做是通过创建一个URL对象,然后调用URL.openConnection,然后调用URLConnection.connect(),然后调用URL.openStream()。这些都不会引发此URL的异常:“http://”,这没有任何意义。

我需要该方法独立于协议。

2 个答案:

答案 0 :(得分:3)

获取回复代码:

URL url = new URL("http://");
HttpURLConnection   conn = (HttpURLConnection)url.openConnection();
int rc = conn.getResponseCode();
conn.disconnect();

如果它没有抛出异常,则URL存在。这一个扔了

Exception in thread "main" java.lang.RuntimeException: java.lang.IllegalArgumentException: protocol = http host = null

对我来说。

答案 1 :(得分:1)

如果您正在尝试检查url是否有效然后执行请求,您可以使用commons验证器(http://commons.apache.org/validator/),这样您就可以执行openConnection()以防万一url真的有效。

此处的文档和示例:http://commons.apache.org/validator/apidocs/org/apache/commons/validator/UrlValidator.html