java.сеть.UnknownHostException: недопустимое имя хоста для сервера: локальный
какие шаги я должен предпринять для решения ошибки:
java.net.UnknownHostException: Invalid hostname for server: local
я добавил новое имя виртуального хоста в эмуляторе Android, но результат возвращается к
java.net.UnknownHostException virtualhostname at
java.net.InetAddress.lookUpHostByName(InetAddress.java:506)
когда я набираю URL-адрес virtualhost на своем ПК, он работает на дисплее. Опять же, когда я запускал эмулятор и проверял Logcat, я не мог прочитать или проверить состояние HTTP, если 200, 202 или код ошибки. Он просто вернулся в UnknownHostException
12 ответов
на самом деле исключение говорит о том, что нет известного сервера с именем "local". Я предполагаю, что вы пытаетесь подключиться к локальному компьютеру. Попробуйте с именем хоста "localhost"
вместо этого, или, возможно,127.0.0.1
или ::1
(последний-IPv6).
С javadocs:
брошенный, чтобы указать, что IP-адрес хозяина определить не удалось.
127.0.0.1
или ::1
или "localhost"
всегда должен быть интерфейс loopback, поэтому, если это не сработает, я был бы очень удивлен.
если в вашей сети действительно есть сервер под названием "local" - проверьте настройки DNS или добавьте его в файл hosts.
у меня была такая же проблема на моем mac. Я нашел проблему, когда я позвала моя $HOSTNAME
из терминала и он вернулся ping: cannot resolve myHostName: Unknown host
.
решения:
- Do
echo $HOSTNAME
на ваш терминал. - любое имя хоста, которое он показывает (скажем
myHostName
), попробуйте проверить это :ping myHostName
. Если он вернетсяping: cannot resolve myHostName: Unknown host
затем добавьте запись в свой . -
для редактирования
/etc/hosts
файл и добавить следующий:127.0.0.1 myHostName
надеюсь, что это помогает.
java.сеть.UnknownHostException: хост не разрешен:
брошенный, чтобы указать, что IP-адрес хоста не может быть определен.
это исключение также возникает, когда вы подключены к действительному wifi, но маршрутизатор не получает интернет. Его очень легко воспроизвести это:
- подключение к действительному wifi
- теперь удалите кабель из маршрутизатора, пока маршрутизатор подключен
вы обратите внимание на эту ошибку!!
вы не можете действительно решить эту проблему, вы можете только уведомить изящно пользователя. (что - то вроде - "невозможно установить связь")
Это может произойти по разным причинам
1) Проверьте, подключен ли VPN, вы можете получить эту ошибку иногда, если да
" ваше имя хоста, localhost разрешает адрес обратной связи: 127.0.0.1; используя 10.xxx.1.193 Вместо (на интерфейсе cscotun0)"
2) Проверьте свой $ HOSTNAME
3) Попробуйте ping $HOSTNAME в командной строке, и если он не работает, настройте Системные настройки, чтобы ваш локальный хост отвечал на pings
отсутствует имя хоста. JBoss использует эту переменную среды ($HOSTNAME) при подключении к серверу.
[root@xyz ~]# echo $HOSTNAME
xyz
[root@xyz ~]# ping $HOSTNAME
ping: unknown host xyz
[root@xyz ~]# hostname -f
hostname: Unknown host
есть десятки вещей, которые могут вызвать это. Пожалуйста, прокомментируйте, если вы обнаружите новую причину.
для взлома, пока вы не сможете окончательно решить эту проблему на своем сервере, вы можете добавить строку до конца вашего файла / etc / hosts:
127.0.0.1 xyz.xxx.xxx.edu xyz
это не относится к вопросу, но этот вопрос появился, когда я гуглил для упомянутого 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.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:211)
...
независимо от того, как я пытался подключиться к любому действительному хосту, печать его в терминале тоже не поможет. Все было правильно.
Решение
не зову trim()
для строки хоста, содержащей пробелы. При написании прокси-сервера хост был получен из HTTP-заголовков с использованием split(":")
точку с запятой для HOST
заголовок. Это оставило пробелы и вызывает UnknownHostException
как хост с пробелами не является допустимым хостом. Делать host = host.trim()
на String host
решить неоднозначный вопрос.
попробуйте следующее :
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. Работал на меня, Хоуп тебе тоже помогает.
Connect ваш мобильный телефон с различным подключением wifi с другим поставщиком услуг. Я не знаю точной проблемы, но я не мог подключиться к серверу с определенным поставщиком услуг, но он работает, когда я подключился к другому поставщику услуг. Так попробуй!
Если ваш файл / 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