0

我有点震惊,java 不包含开箱即用的良好验证库(即使 PHP 也有!)。

我从 apache commons 尝试了 UrlValidator,但存在“小”问题 -它不理解 punycode。
(例如,对于下一个网址“http://xn--d1abbgf6aiiy.xn--p1ai/”,它给了我否定的结果)

您能推荐任何可以正确验证带有和不带有 punycode 的 url(只是语法)的库吗?
谢谢。

4

1 回答 1

3

很简单:使用URI.

try {
    URI.create("inputStringHere");
} catch (IllegalArgumentException e) {
    // do whatever is needed
}

但是,检查 URI 本身的参数(主机名等)取决于您。但是 URI 类可以访问每个组件(方案、主机名等)。

于 2012-12-22T14:53:23.987 回答