Я пытаюсь преобразовать имя хоста в соответствующий ему 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 -> подключенные к сети, с ipv4address.
nslookup google.com
на консоли возвращает ** server can't find google.com: NXDOMAIN
Один и тот же код на машине с Windows в сети выдает то же исключение
Есть идеи о причине этой ошибки?Или есть другие способы разрешения имен хостов в Java?