InetAddress.getByName не работает через прокси.

Я пытаюсь разрешить имя хоста на его соответствующий 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?

5
задан Benjamin 2 August 2011 в 11:51
поделиться