如何验证ipv4 ipv6和dns名称?

时间:2017-10-27 06:03:21

标签: java android

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

1 个答案:

答案 0 :(得分:0)

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