java 怎么根据指定ip获取主机的名称

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 怎么根据指定ip获取主机的名称相关的知识,希望对你有一定的参考价值。

InetAddress ia=InetAddress.getByName("localhost");
System.out.println(ia.getHostAddress());
System.out.println(ia.getHostName());
用主机名可以获取ip和主机名

InetAddress ia=InetAddress.getByName("127.0.0.1");
System.out.println(ia.getHostAddress());
System.out.println(ia.getHostName());
确只能获取ip不能获取主机名字是为什么????
InetAddress ia=InetAddress.getByName("localhost");
System.out.println(ia.getHostAddress());
System.out.println(ia.getHostName());
结果为:127.0.0.1
localhost
这个没问题
InetAddress ia=InetAddress.getByName("127.0.0.1");
System.out.println(ia.getHostAddress());
System.out.println(ia.getHostName());
结果为:127.0.0.1
127.0.0.1
为什么不是localhost;
这个本地的不会去dns中查一下吗,或者是本机的hosts文件中查一下?

参考技术A 下面那哥们回答成那样,你还采纳啊。。。
InetAddress addr = InetAddress.getByName("81.101.25.52");
String host = addr.getHostName();
System.out.println(host);
参考技术B 这个有个简单的例子,你这边自己消化下
http://james23dier.iteye.com/blog/609337

通过主机名来获取一个ip对象

        //通过名称(ip字符串or主机名)来获取一个ip对象。
        InetAddress ip = InetAddress.getByName("www.baidu.com");//java.net.UnknownHostException
        System.out.println("addr:"+ip.getHostAddress());
        System.out.println("name:"+ip.getHostName());

结果输出:

addr:119.75.213.61
name:www.baidu.com

 

亲测好使。

以上是关于java 怎么根据指定ip获取主机的名称的主要内容,如果未能解决你的问题,请参考以下文章

Java 网络编程

Java网络程序设计 精简启蒙版

ip的运用

Linux 下JAVA程序获取主机IP问题

java 怎么获取本机ip地址

通过主机名来获取一个ip对象