1

我知道有人问过这个问题,但有没有人找到比 Apache commons-validator URLValidator 更好的 URL 验证器库或工具,使用 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

我也厌倦了使用谷歌的 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;
}
4

0 回答 0