我知道这个问题已经被问过,但有没有人找到一个更好的URL验证器库或工具,然后是Apache commons-validator URLValidator,使用URLConnection对象(超级昂贵)或正则表达式解决方案?我已经尝试实现所有这些,似乎最好的是apache库,但它仍然拒绝格式化的有效URL,如:
http://.youtube.com/watch?v=7lu3xMj0HfQ&sns=fb
http://.handelsblatt.com/11635696.html
http://1.kopiyka.club/index/oholoshenya/dim-i-sad/11285.html
我也厌倦了使用google的Guava库,但这也不是很好。任何建议,将不胜感激。
在好奇心的情况下,这是我实现Apache库版本的方式:
public boolean validateUrl(final String url)
{
final String[] urlSchemes = null;
boolean isValid = false;
final UrlValidator urlValidator = new UrlValidator(urlSchemes, UrlValidator.ALLOW_ALL_SCHEMES);
final String urlText = url;
if(isValid = urlValidator.isValid(urlText))
{
//do nothing valid URL
}
else
{
System.out.printf("URL %s is invalid.", urlText);
System.out.println();
}
return isValid;
}