Я пытаюсь разрешить имя хоста на его соответствующий IP-адрес.
] Моя среда - это Mac в корпоративной сети за прокси-сервером, который настроен с помощью файла .pac через системные настройки (автоматическая настройка прокси). Пока все работает нормально, и я могу получить доступ к ресурсам внутри и за пределами моей корпоративной сети. .
Разрешение хостов в моей сети работает отлично:
InetAddress.getByName ("host.local");
Но когда я использую имена внешних хостов, я получаю UnknownHostException:
InetAddress.getByName ("google.com");
производит
Exception in thread "main" java.net.UnknownHostException: google.com
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:850)
at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1201)
at java.net.InetAddress.getAllByName0(InetAddress.java:1154)
at java.net.InetAddress.getAllByName(InetAddress.java:1084)
at java.net.InetAddress.getAllByName(InetAddress.java:1020)
at java.net.InetAddress.getByName(InetAddress.java:970)
at Test.main(Test.java:67)
(меня немного удивляет Inet6AddressImpl
здесь)
Насколько я понимаю, это InetAddress. getByName, используя собственные механизмы для разрешения имен хостов. Поэтому я не думаю, что ошибка вызвана отсутствующей конфигурацией прокси-сервера в java jvm.
Но что еще это может быть, если все остальное работает нормально?
Некоторая (возможно) полезная дополнительная информация:
Я использую MacBook, ifconfig
показывает интерфейсы lo0, gif0, stf0, en0, fw0, en1 -> подключенные к сети с адресом ipv4.
nslookup google.com
на консоли возвращает ** сервер не может найти google.com: NXDOMAIN
Тот же код на машине Windows в сети вызвал такое же исключение
Есть идеи о причине этой ошибки? Или есть другие способы разрешить имена хостов в java?