parsing主机名的IP地址

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

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

看看InetAddressgetHostAddress()方法。

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

你可以这样做:

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

你可以使用InetAddress。 尝试下面的代码,

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

正如上面所提到的,你可以使用InetAddress.getByName("hostName")但是这可以给你一个caching的IP,请阅读java文档。 如果你想从DNS获得IP,你可以使用:

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

除了@daksh指出的内容之外,您可以像这里所build议的那样禁用DNS响应caching,但是请注意禁用caching的时间以及caching您的操作系统以及其他DNS服务器所做的DNS响应。 希望这可以帮助