使用Java的
InetAddress.getByName()
解析主机名到IP地址时,我想使用Google的DNS而不是本地系统的默认设置。根据其他stackoverflow问题以及在http://docs.oracle.com/javase/6/docs/technotes/guides/net/properties.html提供的信息,我正在使用以下内容设置相应的属性:System.setProperty("sun.net.spi.nameservice.nameservers", "8.8.8.8");
System.setProperty("sun.net.spi.nameservice.provider.1", "dns,sun");
在程序后面调用System.getProperty("sun.net.spi.nameservice.nameservers")
可以确认属性已设置为8.8.8.8,但网络流量明显显示所有DNS请求都发送到系统默认值,而非Google的DNS。还需要做什么来让Java使用所请求的DNS服务器呢?