【问题标题】:UrlValidator is not working for localhostUrlValidator 不适用于本地主机
【发布时间】:2014-10-01 17:00:12
【问题描述】:

我遇到了在我的代码中使用 UrlValidator 的问题。

UrlValidator urlValidator = UrlValidator.getInstance();
    if(urlValidator.isValid(url)) {
        throw new IllegalArgumentException( url + "not valid");
    }
 where url i'm passing is 

 [1]: http://localhost:8080/myapp/Education.html

。如果我传递 url,我会得到 IllegalArgumentException n,即

 [2]: https://www.google.co.in/

它工作正常。如何使此代码适用于 localhost:8080

【问题讨论】:

    标签: java url-validation


    【解决方案1】:

    如果您查看documentation,您将获得有关如何接受本地网址的提示

    例如

    public class Validator {
        public static void main(String[] args) {
            UrlValidator urlValidator = new UrlValidator(UrlValidator.ALLOW_LOCAL_URLS);
            if (urlValidator.isValid("http://localhost/page.htm")) {
                System.out.println("Valid URL");
            }
            else {
                System.out.println("Invalid URL");
            }
    
        }
    
    }
    

    它会输出

    Valid URL

    【讨论】:

    • 仅供参考,您需要这样做new UrlValidator(UrlValidator.ALLOW_LOCAL_URLS)
    • 我希望他能自己搞定 :-)
    • 感谢您的回复。但不要使用 UrlValidator.getInstance();我也试过这个“UrlValidator urlValidator = new UrlValidator(UrlValidator.ALLOW_LOCAL_URLS);”但它仍然无法正常工作。
    • yes..if 中的条件是什么?如果 url 有效,那么你会抛出 IllegalArgumentException??顺便说一句,在本地测试过
    • 这是因为您在端口 8080 上使用 apache-tomcat
    猜你喜欢
    • 2016-01-14
    • 2016-08-05
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-20
    相关资源
    最近更新 更多