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



在Java中,我试图验证URL是否存在。我通过创建一个URL对象,然后调用URL.openConnection,然后调用URLConnection.connect(),然后调用URL.openStream()来做到这一点。这些都不会为此 URL 引发异常:"http://",这毫无意义。

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

获取响应代码:

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

给我的。

如果你试图检查网址是否有效,然后执行请求,你可以使用公共验证器(http://commons.apache.org/validator/),这样你就可以执行openConnection(),以防url真的有效。

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

最新更新