解析主机名的IP地址

时间:2013-04-03 13:09:21

标签: java

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

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

5 个答案:

答案 0 :(得分:109)

查看InetAddressgetHostAddress()方法。

InetAddress address = InetAddress.getByName("www.example.com"); 
System.out.println(address.getHostAddress()); 

答案 1 :(得分:25)

你可以这样做:

for(InetAddress addr : InetAddress.getAllByName("stackoverflow.com"))
    System.out.println(addr.getHostAddress());

答案 2 :(得分:9)

您可以使用InetAddress。请尝试以下代码,

InetAddress address = InetAddress.getByName("www.yahoo.com");
System.out.println(address.getHostAddress());
System.out.println(address.getHostName());

答案 3 :(得分:4)

如上所述,您可以使用 InetAddress.getByName("hostName")但这可以为您提供缓存的IP,请阅读相同的java文档。 如果您想从DNS获取IP,可以使用:

InetAddress[] ipAddress = DNSNameService.lookupAllHostAddr("hostName");

答案 4 :(得分:1)

除了@daksh指出的内容之外,您可以按照建议here禁用DNS响应缓存,但要注意禁用缓存的时间以及操作系统对DNS响应的缓存以及建议的其他DNS服务器here。希望这有帮助