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

1. введение

В этом уроке мы узнаем причину UnknownHostException на примере. Мы также обсудим возможные способы предотвращения и обработки исключения.

2. Когда Возникает исключение?

UnknownHostException указывает, что IP – адрес имени хоста не может быть определен. Это может произойти из-за опечатки в имени хоста:

String hostname = «http://locaihost»; URL url = new URL(hostname); HttpURLConnection con = (HttpURLConnection) url.openConnection(); con.getResponseCode();

Приведенный выше код вызывает исключение UnknownHostException , поскольку неправильно написанный localhost не указывает ни на какие IP-адреса.

Еще одна возможная причина UnknownHostException это задержка распространения DNS или неправильная конфигурация DNS.

Для распространения новой записи DNS по всему Интернету может потребоваться до 48 часов.

3. Как Это предотвратить?

Предотвращение возникновения исключения в первую очередь лучше, чем последующая обработка. Несколько советов по предотвращению исключения:

как исправить майнкрафт ошибку не удалось определить имя узла без использования VPN

  1. Дважды проверьте имя хоста: Убедитесь, что нет опечатки, и обрежьте все пробелы.
  2. Проверьте настройки DNS системы: Убедитесь, что DNS-сервер включен и доступен, и если имя хоста новое, дождитесь, пока DNS-сервер догонит вас.

4. Как с Этим справиться?

UnknownHostException расширяет IOException , которое является проверенным исключением . Как и любое другое проверенное исключение, мы должны либо выбросить его, либо окружить блоком try-catch .

Давайте рассмотрим исключение в нашем примере:

try < con.getResponseCode(); >catch (UnknownHostException e)

Рекомендуется закрывать соединение при возникновении UnknownHostException . Большое количество расточительных открытых соединений может привести к тому, что приложению не хватит памяти.

5. Заключение

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

Как всегда, код доступен на Github .

Читайте ещё по теме:

Источник: javascopes.com

java.сеть.UnknownHostException: недопустимое имя хоста для сервера: локальный

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

автор: Bruno Bieri

12 ответов

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

Unknown host. Не удалось определить имя узла. Как исправить ошибку на сервере Aternos в Майнкрафт!

брошенный, чтобы указать, что IP-адрес хозяина определить не удалось.

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

если в вашей сети действительно есть сервер под названием «local» — проверьте настройки DNS или добавьте его в файл hosts.

автор: André Laszlo

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

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

надеюсь, что это помогает.

автор: Shobhit Puri

java.сеть.UnknownHostException: хост не разрешен:

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

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

  1. подключение к действительному wifi
  2. теперь удалите кабель из маршрутизатора, пока маршрутизатор подключен

вы обратите внимание на эту ошибку!!

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

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

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

» ваше имя хоста, localhost разрешает адрес обратной связи: 127.0.0.1; используя 10.xxx.1.193 Вместо (на интерфейсе cscotun0)»

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

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

автор: Sidharth N. Kashyap

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

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

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

127.0.0.1 xyz.xxx.xxx.edu xyz
автор: MacGyver

это не относится к вопросу, но этот вопрос появился, когда я гуглил для упомянутого 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 решить неоднозначный вопрос.

автор: matrixanomaly

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);
автор: rex roy

попытка подключения к локальному компьютеру.попробуйте вместо этого использовать имя хоста «localhost» или, возможно ::/ — последний-ipv6

автор: joshwayne diestro

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

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

Читайте также:  Как избавиться от проклятия несъемности Майнкрафт

автор: Jyoti Gupta

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

автор: Suraj Vaishnav

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

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

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

автор: user8326951

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

пример [hostname] и вы должны заменить все это чем-то вроде этого:

jdbc:mysql://localhost:3306/openfire

Источник: askdev.ru

Fix Minecraft не может решить проблему с именем хоста

В этом посте мы поговорим о том, как решить проблему с именем хоста в Minecraft. Проблема возникает, когда пользователь пытается подключиться к серверу своего друга или даже присоединиться к новому серверу. Ошибка указывает на то, что Minecraft не может подключиться к имени хоста, поскольку не удается найти IP-адрес. К счастью, как и любую другую проблему с Minecraft, эту проблему также можно решить быстро. Просто попробуйте решения, упомянутые в этом посте, чтобы решить проблему.

Fix Minecraft не может решить проблему с именем хоста

Почему Minecraft не может решить проблему с именем хоста?

Может быть несколько причин, по которым Minecraft не может решить проблему с именем хоста. Но среди всех ниже приведены наиболее распространенные из них, вызывающие проблему.

  1. Если IP-адрес указан с ошибкой, вы увидите сообщение об ошибке.
  2. Проблема возникает, если брандмауэр Windows блокирует Minecraft.
  3. Если диапазон DNS назначен плохо, вы, скорее всего, столкнетесь с сообщением об ошибке в игре.

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

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Minecraft не может разрешить имя хоста

Ниже приведен список всех эффективных решений, которые вы можете попробовать исправить, когда Minecraft не может разрешить имя хоста.

  1. Введите имя хоста правильно
  2. Подключиться к правильному IP-адресу
  3. Очистить кеш DNS
  4. Проверить наличие проблем с сервером
  5. Разрешить Minecraft через брандмауэр Windows

Рассмотрим все эти решения подробно.

1]Правильно введите имя хоста

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

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

2]Подключитесь к правильному IP-адресу

Одно из лучших решений, с помощью которого вы можете решить, что Minecraft не может решить проблему с именем хоста, — это подключиться к правильному IP-адресу. Для этого выполните следующие шаги.

  1. Для начала нажмите клавишу Windows, чтобы открыть меню «Пуск».
  2. Введите командную строку и в результате выберите параметр «Запуск от имени администратора».
  3. В окне командной строки введите nslookup и нажмите клавишу ввода. Предположим, если имя хоста — play.TheWindowsClub.org, введите nslookup play.TheWindowsClub.org.
  4. В разделе «Неавторитетный ответ» вы найдете фактический IP-адрес сервера. Скопируйте это.
  5. Вставьте скопированный IP-адрес сервера в файл Minecraft.
Читайте также:  Команды на Майнкрафт на головы

Теперь проверьте, устранена ли проблема или нет. Если нет, попробуйте следующее решение.

См.: Исправить сбой игры Minecraft с кодом выхода 0.

3]Очистить кеш DNS

сбросить кеш днс виндовс

Большой объем данных кэша DNS может быть еще одной серьезной причиной упомянутой проблемы. Вам придется очистить данные кэша DNS, чтобы решить эту проблему. Вот шаги, которые необходимо выполнить, чтобы выполнить работу.

  1. Откройте командную строку в окне администратора.
  2. Введите ipconfig/flushdns и нажмите клавишу ввода.
  3. После выполнения команды вы увидите — Конфигурация Windows IP. Кэш преобразователя DNS успешно очищен.
  4. Теперь закройте окно командной строки.

Вот и все. Ваш кеш DNS уже должен был быть сброшен. Проверьте, устранена ли проблема или нет.

См.: Исправление ошибки запуска Minecraft 0x803f8001 на ПК с Windows.

4]Проверьте наличие проблем с сервером

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

  1. Откройте командную строку в режиме администратора.
  2. В отведенном месте введите ping и нажмите клавишу ввода.
  3. Если вы видите сообщение Время запроса истекло, значит, вы не можете подключиться к серверу. Принимая во внимание, что если команда выполняется без каких-либо проблем, это указывает на то, что настройка брандмауэра Windows в основном вызывает упомянутую проблему Minecraft.

5]Разрешить Minecraft из брандмауэра Windows

Если Minecraft заблокирован в настройках брандмауэра Windows, вы увидите указанное сообщение об ошибке. Вам нужно будет внести Minecraft в белый список из брандмауэра Windows, чтобы решить эту проблему. Пройдите процесс и проверьте, есть ли разница.

Читайте: исправьте сообщение об ошибке «Устаревшие драйверы Minecraft» на ПК с Windows

Как исправить ошибку при разрешении имени хоста?

Если приложению не удается разрешить имя хоста, вы можете попробовать следующие исправления: во-первых, убедитесь, что вы вводите правильную информацию, проверьте, запущен ли сервер, и разрешите приложению через настройки брандмауэра Windows. Сброс кеша DNS может оказаться еще одним эффективным решением в этой ситуации.

Почему пишет Не удается разрешить имя хоста?

Проблема «Не удается разрешить имя хоста» в основном возникает, когда вы ввели неправильное имя хоста сервера. Чтобы решить эту проблему, дважды проверьте имя хоста и удалите все лишние пробелы или символы, которые вызывают проблему.

Читать далее: Minecraft не устанавливается на ПК с Windows 11/10

Fix Minecraft не может решить проблему с именем хоста

Программы для Windows, мобильные приложения, игры — ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале — Подписывайтесь:)

Источник: zanz.ru