java通过ip拿不到域名的坑

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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能...
    一直在努力hard阅读 4,704评论 3 19
  • 个人认为,Goodboy1881先生的TCP /IP 协议详解学习博客系列博客是一部非常精彩的学习笔记,这虽然只是...
    贰零壹柒_fc10阅读 5,096评论 0 8
  • 域名(Domain Name),是由一串用 点 分隔的名字 组成的 Internet 上某一台计算机或计算机组的名...
    茉上心弦阅读 2,174评论 1 11
  • 1. 基础知识 1.1 3种常见的计算机体系结构划分 OSI分层(7层):物理层、数据链路层、网络层、传输层、会话...
    Mr希灵阅读 19,950评论 6 120
  • Tcp 通过下列方式提供可靠性: tcp 是面向连接,可靠的字节流服务。 字节流服务:两个应用程序通过tcp 连接...
    irckwk1阅读 704评论 0 0