选择DNS服务器以在Java中解析主机名
通过使用InetAddress类,在Java中将主机名解析为IP地址相当容易:
InetAddress address = InetAddress.getByName("www.example.com");
但是此方法使用正在运行的系统使用的DNS服务器。
有没有办法指定应该用于解析的DNS服务器?
如果您使用Sun Java,则可以使用以下代码:
//Override system DNS setting with Google free DNS server System.setProperty("sun.net.spi.nameservice.nameservers", "8.8.8.8"); System.setProperty("sun.net.spi.nameservice.provider.1", "dns,sun");
请参阅此博客文章: 如何使用Java System属性设置自定义DNS服务器以获取更多详细信息。