如何在Java中检查有效的URL?

2022-08-31 09:33:04

检查URL在Java中是否有效的最佳方法是什么?

如果试图打电话并接听一个,但它似乎对任何以.new URL(urlString)MalformedURLExceptionhttp://

我不关心建立联系,只关心有效性。有没有办法做到这一点?休眠验证器中的注释?我应该使用正则表达式吗?

编辑:可接受的 URL 的一些示例是 和 。http://***http://my favorite site!


答案 1

考虑使用Apache Commons UrlValidator类

UrlValidator urlValidator = new UrlValidator();
urlValidator.isValid("http://my favorite site!");

您可以设置多个属性来控制此类的行为方式(默认情况下 ),并接受这些属性。httphttpsftp


答案 2

这是我尝试并发现有用的方式,

URL u = new URL(name); // this would check for the protocol
u.toURI(); // does the extra checking required for validation of URI