1

在 Java 中,我试图验证 URL 是否存在。为此,我创建了一个 URL 对象,然后调用 URL.openConnection,然后调用 URLConnection.connect(),然后调用 URL.openStream()。这些都没有抛出这个 URL 的异常:“http://”,这是没有意义的。

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

4

2 回答 2

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

为了我。

于 2012-05-25T01:37:25.550 回答
1

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

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

于 2012-05-24T19:39:56.877 回答