Выберите 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 для получения более подробной информации.

Другие вопросы по тегам