关于InetAdress.getByName()的混淆

时间:2014-03-26 09:27:12

标签: java network-programming

我正在尝试编写一个类,它将打印作为InetAddress.getByName()参数提供的IP地址的实际主机名。但每次我运行程序时,IP地址都会在控制台而不是主机名上打印出来。

  

这是我的输出:=   208.73.211.249

我需要做什么才能正确打印?

import java.net.*;

public class Inet1 {

    public static void main(String[] args) throws UnknownHostException {

        InetAddress ia=null;
        ia=InetAddress.getByName("74.125.236.50");
        System.out.print(ia.getHostName());

    }
}

2 个答案:

答案 0 :(得分:1)

InetAddress inetAddr = InetAddress.getByName("74.125.236.50");


String hostname = inetAddr.getHostName(); // Get the host name

答案 1 :(得分:0)

底层系统配置可能不允许您访问主机名。那么你在Java级别上无能为力。

你试过吗

System.out.println(ia.getCanonicalHostName());