Java 确定URL是否存在?
我有一个循环,它遍历许多URL。我的问题是,程序正在终端中写出每个url的内容,我只想忽略断开的url。如何确定URL是否引用某个内容 我是否被迫使用正在抛出的异常FileNotFoundException?因为它也会影响程序的其他部分,所以我想确保如果url被破坏,主while循环会直接跳到下一个迭代。异常是由我正在使用的方法引发的(在我无法更改的类中),我如何处理它 这是我的循环(简化):Java 确定URL是否存在?,java,exception-handling,Java,Exception Handling,我有一个循环,它遍历许多URL。我的问题是,程序正在终端中写出每个url的内容,我只想忽略断开的url。如何确定URL是否引用某个内容 我是否被迫使用正在抛出的异常FileNotFoundException?因为它也会影响程序的其他部分,所以我想确保如果url被破坏,主while循环会直接跳到下一个迭代。异常是由我正在使用的方法引发的(在我无法更改的类中),我如何处理它 这是我的循环(简化): 因此openURL()正在捕获FileNotFoundException,并且终端中打印了很多内容,我
因此openURL()正在捕获FileNotFoundException,并且终端中打印了很多内容,我只想忽略它们,如何做到这一点?要验证字符串是否为有效URL,可以使用Apache commons validator,如下所示:
String[] schemes = {"http","https"}; // DEFAULT schemes = "http", "https", "ftp"
UrlValidator urlValidator = new UrlValidator(schemes);
if (urlValidator.isValid("ftp://foo.bar.com/")) {
System.out.println("url is valid");
} else {
System.out.println("url is invalid");
}
或者,即使您不想使用Apache common validator进行验证,您也可以使用如下内容:
try {
URL url = new URL("http://www.yoursite.com/");
URLConnection conn = url.openConnection();
conn.connect();
} catch (MalformedURLException e) {
// the URL is not in a valid form
} catch (IOException e) {
// the connection couldn't be established
}
要验证字符串是否为有效URL,可以使用Apache commons validator,如下所示:
String[] schemes = {"http","https"}; // DEFAULT schemes = "http", "https", "ftp"
UrlValidator urlValidator = new UrlValidator(schemes);
if (urlValidator.isValid("ftp://foo.bar.com/")) {
System.out.println("url is valid");
} else {
System.out.println("url is invalid");
}
或者,即使您不想使用Apache common validator进行验证,您也可以使用如下内容:
try {
URL url = new URL("http://www.yoursite.com/");
URLConnection conn = url.openConnection();
conn.connect();
} catch (MalformedURLException e) {
// the URL is not in a valid form
} catch (IOException e) {
// the connection couldn't be established
}
请定义“有效URL”。这是否意味着只是看起来格式良好,或者live网站返回200以获取请求?有效URL应返回live网站200。请定义“有效URL”。这是否意味着只是看起来格式良好,或者live Web站点返回200以获取请求?有效的URL应该返回live Web站点200。如何导入apache类?如果您使用的是
maven
,则可以查找依赖项,如果没有,您可以下载jar
文件并将其放置在构建路径中。如何导入apache类?如果您使用maven
,则可以查找依赖项,如果没有,则可以下载jar
文件并将其放置在构建路径中。