使用 InetAddress 类在Java中将主机名解析为IP地址相当容易:
InetAddress address = InetAddress.getByName("www.example.com");
但是此方法使用正在运行的系统使用的DNS服务器。
有没有办法指定应该用于解析的DNS服务器?
答案 0 :(得分:15)
如果您使用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");
有关详细信息,请参阅此博文:How to set a custom DNS server with Java System properties。