【问题标题】:how to validate ipv4 ipv6 and dns name?如何验证 ipv4 ipv6 和 dns 名称?
【发布时间】:2017-10-27 06:03:21
【问题描述】:

在 Java 中,有InetAdress 可以进行验证。问题是它需要访问网络以进行 dns 查询。我该如何进行验证?有主机名和 ipv4 正则表达式,但我找不到匹配 ipv6 地址的正则表达式。

【问题讨论】:

标签: java android


【解决方案1】:

The IPAddress Java library 可以解析主机名、IPv4 和 IPv6 地址,而不会触发 DNS 查找。免责声明:我是该库的项目经理。

示例代码:

HostName host = new HostName(hostStr);
try {
    host.validate();
    if(host.isAddress()) {
        System.out.println("address: " + host.asAddress());
    } else {
        System.out.println("host name: " + host);
    }
} catch(HostNameException e) {
    System.out.println(e.getMessage());
}

这不会进行 DNS 查找。更多sample code at the wiki

【讨论】:

    猜你喜欢
    • 2012-03-01
    • 2014-11-01
    • 2018-09-15
    • 2013-06-02
    • 2021-11-28
    • 2010-10-08
    • 1970-01-01
    • 2023-04-01
    • 2018-09-09
    相关资源
    最近更新 更多