Заменить разрешение имен DNS по умолчанию в Java - PullRequest
3 голосов
/ 12 марта 2011

Я хотел бы изменить способ, которым JVM разрешает доменные имена в HttpURLConnections.

Вместо того, чтобы переходить на DNS-серверы через стек TCP / IP по умолчанию, я хотел написать свой собственный код для разрешения доменных имен.

Есть ли способ заменить механизм разрешения имен по умолчанию?

Ответы [ 2 ]

2 голосов
/ 12 марта 2011

Я понятия не имею, будет ли это работать, но есть системные свойства

System.setProperty ("sun.net.spi.nameservice.nameservers", localhost);System.setProperty ("sun.net.spi.nameservice.provider.1", "dns, sun");

возможно, если у вас есть Java-приложение, откройте порт на порту DNS (53) и обработайтепросит себя.

Конечно, это не работает, если на текущей машине уже есть DNS-сервер.

1 голос
/ 13 марта 2011

Создайте URL-адреса, заменив имя хоста числовым IP-адресом, а затем вручную добавьте заголовок Host в HttpUrlConnection.

http://www.myserver.com/foo.html

Эквивалентно

http://192.168.1.100/foo.html
Host: www.myserver.com

dnsjava дает вам больший контроль над разрешением DNS-имен по стандартным API Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...