在 Java 中,我试图验证 URL 是否存在。为此,我创建了一个 URL 对象,然后调用 URL.openConnection,然后调用 URLConnection.connect(),然后调用 URL.openStream()。这些都没有抛出这个 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
为了我。
如果您尝试检查 url 是否有效,然后执行请求,您可以使用公共验证器 ( http://commons.apache.org/validator/ ),这样您就可以执行 openConnection() 以防万一 url 真的有效.
此处的文档和示例:http: //commons.apache.org/validator/apidocs/org/apache/commons/validator/UrlValidator.html