Java - 如何调用IP地址来查找主机名?

时间:2013-03-06 14:54:29

标签: java dns hostname inetaddress

我制作的代码会自动返回主机名。

但不是每次都返回我机器的主机名。我也想检查其他机器(用于测试目的)。

我的意思是,每次调用方法时,它都会要求我输入一个IP地址,然后返回我输入的地址的主机名。

例如:

  1. run method findH(String f)
  2. 我为String f
  3. 键入127.0.0.1(IP地址/主机名)
  4. 它返回我的主机名:MyPC等(组成)。
  5. 这是我的代码:

    import java.net.InetAddress;
    
    public class Search
    {
    
    
        public String findH(String x) throws Exception {
            InetAddress a = InetAddress.getLocalHost();
            String s = a.getHostName();
            System.out.println("Host Name is: " + a.HostName());
    
            return x;
        }
    }
    

    提前致谢。我知道我的描述并不是最好的,但如果有任何含糊之处,请告诉我。

2 个答案:

答案 0 :(得分:2)

尝试

public String findH(String x) throws Exception {
    InetAddress addr = InetAddress.getByName(x);
    return addr.getHostName();
}

答案 1 :(得分:0)

而不是调用InetAddress.getLocalHost(),而是想要从x创建地址:

InetAddress a = InetAddress.getByName(x);

您的其余代码将保持不变..

哦,您可能希望返回a.getHostName()而不是x

相关问题