92

我有 DNS 服务器 IP 地址和主机名。

使用 Java,如何使用 IP 地址和主机名找到该 DNS 服务器返回的主机名 IP 地址?

4

4 回答 4

139

看看InetAddressgetHostAddress()方法。

InetAddress address = InetAddress.getByName("www.example.com"); 
System.out.println(address.getHostAddress()); 
于 2013-04-03T13:24:35.970 回答
31

你可以这样做:

for(InetAddress addr : InetAddress.getAllByName("stackoverflow.com"))
    System.out.println(addr.getHostAddress());
于 2013-04-03T13:25:20.360 回答
9

您可以为此使用 InetAddress。试试下面的代码,

InetAddress address = InetAddress.getByName("www.yahoo.com");
System.out.println(address.getHostAddress());
System.out.println(address.getHostName());
于 2013-04-03T13:24:51.423 回答
3

如上所述,您可以使用 InetAddress.getByName("hostName"),但这会给您一个缓存的 IP,请阅读 java 文档。如果要从 DNS 获取 IP,可以使用:

InetAddress[] ipAddress = DNSNameService.lookupAllHostAddr("hostName");
于 2014-06-13T12:14:06.587 回答