选择 DNS 服务器以解析 Java 中的主机名
在Java中,通过使用InetAddress类,将主机名解析为IP地址非常简单,如下所示:
InetAddress address = InetAddress.getByName("www.example.com");
但此方法使用正在运行的系统使用的DNS服务器。
有没有办法指定应该用于解析的DNS服务器?
在Java中,通过使用InetAddress类,将主机名解析为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 系统属性设置自定义 DNS 服务器。