在Java中,我正在尝试验证URL是否存在。我这样做是通过创建一个URL对象,然后调用URL.openConnection,然后调用URLConnection.connect(),然后调用URL.openStream()。这些都不会引发此URL的异常:“http://”,这没有任何意义。
我需要该方法独立于协议。
答案 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