Выберите DNS-сервер для разрешения имен хостов в Java

разрешение имени хоста на IP-адрес довольно просто в Java, используя класс InetAddress следующим образом:

InetAddress address = InetAddress.getByName("www.example.com");

Но этот метод использует DNS-сервер, который используется запущенной системой.

Можно ли указать DNS-сервер, который должен использоваться для разрешения?

Ответ 1

Если вы используете 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");

Смотрите это сообщение в блоге: Как настроить собственный DNS-сервер с характеристиками Java System для более подробной информации.