java - 将域添加到 apache.commons 中的 UrlValidator

标签 java url apache-commons url-validation

所以我正在使用 Commons UrlValidator (org.apache.commons.validator.routines.UrlValidator),我想知道是否有一种方法可以自定义它允许的域。现在它似乎只允许顶级域名,但我希望有一两个有效的域名不在该列表中,例如“.corp”(列表可在此处找到: http://data.iana.org/TLD/tlds-alpha-by-domain.txt )。是否有一种设置或解决方法,以便我不必创建自己的 url validator ,而只需将其与添加的域一起使用?

最佳答案

您可以在下面找到 JUnit 测试用例。

import org.apache.commons.validator.routines.DomainValidator;
import org.apache.commons.validator.routines.UrlValidator;

class UrlValidatorTestCase extends TestCase {

  private static final String[] GENERIC_TLDS_PLUS = new String[] { "corp" };

  static {
    DomainValidator.updateTLDOverride(DomainValidator.ArrayType.GENERIC_PLUS, GENERIC_TLDS_PLUS);
  }

  public void test_UrlValidator_isValid_corp_tld() {
    assertTrue(UrlValidator.getInstance().isValid("http://domainlabel.corp"));
  }
}

使用 commons-validator 1.6 进行测试

关于java - 将域添加到 apache.commons 中的 UrlValidator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35757298/

相关文章:

java - 根据第一个字符搜索数组列表,然后打印出来

Java 字符串分词器

java - 无法合并 Dex - commons apache

C# 从 URL 中读取文件信息

url - 有什么方法可以避免为 IDN 域显示 "xn--"?

clojure - 如何使用 Clojure 的 Apache Commons Codec 库?

android - apache commons IOUtils.toByteArray 不为 android 编译

java - 其他类能够访问对象类型的数组列表

java - JLabel滚动后消失

php - Woocommerce 产品 api 不接受某些网址中的图片