public static void main(String[] args) throws Exception {
InetAddress addresses = InetAddress.getByName("123.125.71.75");
System.out.println(addresses.getHostName());
}
结果是
123.125.71.75
发现并没有拿到域名,为什么呢
通过命令行是可以看到有域名的
image.png
调试java的代码
发现其实是获取到域名了的
image.png
只是java还会去验证下这个域名,结果dns找不到这个域名,就报错了。
其实去ping这个域名也是拼不通的
image.png
java会catch住异常,直接返回ip作为域名了。
image.png
当然如果是正常能ping通的ip,是没有这个坑的
image.png
解决办法:使用dnsjava,它会省去后面的验证步骤,得到域名。
image.png