【问题标题】:Validating URLs that don't have http验证没有 http 的 URL
【发布时间】:2012-10-15 05:21:56
【问题描述】:

我想在 java 端验证用户输入的网站地址。我为此使用了org.apache.commons.validator.routines.UrlValidator,但它需要以http://https://ftp:// 开头的URL。

但是,就我而言,我想接受以www. 开头的地址,例如www.stackoverflow.com。我该怎么做?

【问题讨论】:

    标签: java validation apache-commons url-validation


    【解决方案1】:

    创建一个URI 对象并检查getScheme() 是否为空或null。如果是这样,请预先添加"http://"

    【讨论】:

    • 网址 websiteUrl = new URL(www.stackoverflow.com);本身抛出 java.net.MalformedURLException: exception !!
    • 是否可以安全地假设 MalformedURLException 异常仅在存在 No/Unknown 协议时发生?这样我就可以在 MalformedURLException 的 catch 块中添加“http://”?
    • 对不起,我把 URI 和 URL 弄混了。 Java net API 不是很直观;)我修复了答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多