java通过ip拿不到域名的坑

2019-04-25  本文已影响0人  黄云斌huangyunbin
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
上一篇下一篇

猜你喜欢

热点阅读