parsing主机名的IP地址
我有DNS服务器IP地址和主机名。
使用Java,如何find由DNS服务器使用IP地址和主机名返回的主机名的IP地址?
看看InetAddress
和getHostAddress()
方法。
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响应。 希望这可以帮助