java.net.UnknownHostException: Недопустимое имя хоста для сервера: local

Какие шаги я должен предпринять для устранения ошибки:

java.net.UnknownHostException: Invalid hostname for server: local 

Я добавил новое имя виртуального хоста в эмулятор Android, но результат возвращается к

  java.net.UnknownHostException virtualhostname at java.net.InetAddress.lookUpHostByName(InetAddress.java:506) 

Когда я набираю свой URL-адрес виртуального хоста на своем ПК, он работает на дисплее. Затем, когда я запускал эмулятор и проверял Logcat, я не смог прочитать или проверить статус HTTP, если 200, 202 или код ошибки. Он просто вернулся к UnknownHostException

На самом деле это исключение состоит в том, что нет известного сервера с именем «local». Я предполагаю, что вы пытаетесь подключиться к локальному компьютеру. Попробуйте вместо этого 127.0.0.1 имя хоста "localhost" или, возможно, 127.0.0.1 или ::1 (последний из них – IPv6).

Из javadocs :

Брошено, чтобы указать, что IP-адрес хоста не может быть определен.

127.0.0.1 или ::1 или "localhost" всегда должны быть интерфейсом loopback, поэтому, если это не работает, я был бы очень удивлен.

Если в вашей сети действительно есть сервер, называемый «local» – проверьте настройки DNS или добавьте их в файл hosts.

У меня была такая же проблема на моем mac. Я нашел проблему, когда я pinged мой $HOSTNAME из терминала, и он вернулся ping: cannot resolve myHostName: Unknown host .

Разрешить:

  1. Сделайте echo $HOSTNAME на своем терминале.
  2. Независимо от имени хоста, которое он показывает (скажем, myHostName ), попробуйте выполнить ping: ping myHostName . Если он вернет ping: cannot resolve myHostName: Unknown host то добавьте запись в ваш файл /etc/hosts .
  3. Для этого отредактируйте файл /etc/hosts и добавьте следующее:

    127.0.0.1 myHostName

Надеюсь, поможет.

java.net.UnknownHostException: Хост не решен:

Брошено, чтобы указать, что IP-адрес хоста не может быть определен.

Это исключение также возникает при подключении к действительному Wi-Fi, но маршрутизатор не получает Интернет. Его очень легко воспроизвести:

  1. Подключение к действующему Wi-Fi
  2. Теперь выньте кабель из маршрутизатора, когда маршрутизатор подключен к сети

Вы увидите эту ошибку!

Вы не можете это решить, вы можете только изящно уведомлять пользователя. (что-то вроде «Невозможно установить соединение»)

Это может произойти по разным причинам

1) Проверьте, подключено ли VPN, иногда вы можете получить эту ошибку, если да

«Ваше имя хоста, localhost разрешает адрес loopback: 127.0.0.1, вместо этого вместо 10.xxx.1.193 (на интерфейсе cscotun0)»

2) Проверьте свой $ HOSTNAME

3) попробуйте ping $ HOSTNAME в командной строке, и если он не работает, настройте системные настройки, чтобы ваш локальный сервер ответил на pings

Ваше имя хоста отсутствует. JBoss использует эту переменную среды ($ HOSTNAME), когда она подключается к серверу.

 [[email protected] ~]# echo $HOSTNAME xyz [[email protected] ~]# ping $HOSTNAME ping: unknown host xyz [[email protected] ~]# hostname -f hostname: Unknown host 

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

Для взлома, пока вы не сможете окончательно решить эту проблему на своем сервере, вы можете добавить строку в конец файла / etc / hosts:

 127.0.0.1 xyz.xxx.xxx.edu xyz 

Это не относится к вопросу, но этот вопрос появился, когда я был Googling для упомянутого UnknownHostException , и исправление не найдено нигде, поэтому я подумал, что добавлю здесь ответ.

Исключением, которое постоянно получалось, было:

 java.net.UnknownHostException: google.com at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at java.net.Socket.connect(Socket.java:538) at java.net.Socket.(Socket.java:434) at java.net.Socket.(Socket.java:211) ... 

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

Решение

Не вызывать trim() для строки хоста, содержащей пробелы . При написании прокси-сервера хост был получен из заголовков HTTP с использованием split(":") точками с запятой для заголовка HOST . Это оставило пробелы, и причина UnknownHostException как хоста с пробелом не является допустимым хостом. Выполнение host = host.trim() в String host host = host.trim() неоднозначную проблему.

Попробуйте следующее:

 String url = "http://www.google.com/search?q=java"; URL urlObj = (URL)new URL(url.trim()); HttpURLConnection httpConn = (HttpURLConnection)urlObj.openConnection(); httpConn.setRequestMethod("GET"); Integer rescode = httpConn.getResponseCode(); System.out.println(rescode); 

Trim () URL

Попытка подключиться к локальному компьютеру с помощью имени хоста «localhost» или, возможно, :: / – последним является ipv6

Попробуйте установить переменную среды SPARK_LOCAL_IP на IP-адрес (может быть localhost, т.е. ваш собственный IP-адрес), который вы хотите подключить. Например

$ export SPARK_LOCAL_IP=182.95.208.152

Таким образом, вам не потребуется изменять существующие настройки linux. Работал для меня, надеюсь, и вам.

Подключите свой мобильный телефон к другому Wi-Fi-соединению с другим поставщиком услуг . Я не знаю точную проблему, но я не мог подключиться к серверу с определенным поставщиком услуг, но он работает, когда я подключен к другому провайдеру услуг. Так что попробуйте!

Если ваш файл / etc / localhosts имеет запись, как указано ниже: Добавьте имя хоста, как показано ниже:

 127.0.0.1 local host (add your hostname here) ::1 (add hostname here) (the last one is IPv6). 

Это должно решить проблему.

Вы также должны заменить [] !

Пример: [hostname] и вы можете заменить все это примерно так:

 jdbc:mysql://localhost:3306/openfire 
  • Как преобразовать массив байтов в строку и наоборот?
  • Design lib - CoordinatorLayout / CollapsingToolbarLayout с GridView / listView
  • Как добавить два java.lang.Numbers?
  • Почему файл Java должен иметь то же имя, что и его открытый class?
  • Не удалось запустить sdkmanager --list (Android SDK) с Java 9
  • Ограничения внешнего ключа в Android с помощью SQLite? on Удалить каскад
  • Как отображать данные из Firestore в RecyclerView с Android?
  • Android Geocoder getFromLocationName всегда возвращает null
  • Приемник как внутренний class в Android
  • Как загрузить и сохранить изображение с помощью Google App Engine (java)
  • Неудачное обнаружение службы с использованием Bluetooth на Android
  • Давайте будем гением компьютера.