InetAddress не может получить полное доменное имя, в то время как nslookup может - PullRequest
1 голос
/ 12 марта 2012

Я пытаюсь получить полное доменное имя определенного компьютера из DNS, но в моей среде, когда я использую nslookup для имени хоста, я получаю его полное доменное имя, но когда я пробую этот код в Java, я получаю только имя хоста:

InetAddress.getByName("Host name or address").getCanonicalHostName()

В чем может быть причина?Есть ли лучший способ получения полного доменного имени из имени хоста без учетных данных или подключения к серверу LDAP?

1 Ответ

0 голосов
/ 12 марта 2012

Это проблема конфигурации вашей системы.

Из Javadoc:

Если есть менеджер безопасности, этот метод сначала вызывает свой метод checkConnect с именем хоста и -1 в качестве аргументовчтобы узнать, разрешено ли вызывающему коду знать имя хоста для этого IP-адреса, т. е. подключаться к хосту.Если операция не разрешена, она вернет текстовое представление IP-адреса.

getCanonicalHostName

Вы можете либо попытаться изменить системные настройки, чтобы разрешить полное доменное имя, либо попытаться выполнить команду ping, проанализировать ее и получить из нее имя хоста.

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