Невозможно разрешить хост "<вставить URL здесь>" Нет адреса, связанного с именем хоста - PullRequest
93 голосов
/ 29 апреля 2011

Я пытался следовать этому уроку: Получение данных из Интернета

Я пытался реализовать его на Android 3.0, последней платформе для планшетов, однако я получаю эту ошибку: " Невозможно разрешить хост" www.anddev.org "Нет адреса, связанного с именем хоста. "

Вы можете проверить URL, который я использовал, только чтобы доказать, что файл существует. http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt

Я создал закрытый класс и расширил его с помощью asynctask. Вот код:

    private class Downloader extends AsyncTask<String,Void,String>{
    String myString = null;
    @Override
    protected String doInBackground(String... arg0) {
        try{
            URL myURL = new URL("http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt");
            URLConnection ucon = myURL.openConnection();
            InputStream is = ucon.getInputStream();
            BufferedInputStream bis = new BufferedInputStream(is);

            ByteArrayBuffer baf = new ByteArrayBuffer(50);
            int current = 0;
            while((current=bis.read())!=-1){
                baf.append((byte)current);
            }
            myString = new String (baf.toByteArray());
        }catch(Exception e){
            myString = e.getMessage();
        }
        return myString;
    }
@Override
protected void onPostExecute(String result){
    tv.setText(result);
}
}

Буду признателен за любую помощь.

Ответы [ 9 ]

146 голосов
/ 15 декабря 2011

Уверен, вы забыли дать приложению разрешение на использование Интернета.Попробуйте добавить это в свой манифест Android:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
112 голосов
/ 29 апреля 2011

Пожалуйста, проверьте, есть ли у вас действующее интернет-соединение.

61 голосов
/ 25 июля 2013

Возможно, вы получили разрешение

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

НО

Возможно, вы забыли ВКЛЮЧИТЬ Интернет на мобильном устройстве или на любом другом устройстве.

11 голосов
/ 23 августа 2012

если у вас есть USB-интернет, как у меня, эмулятору не нравится включение и выключение соединения, поэтому вам может потребоваться перезапустить эмулятор

11 голосов
/ 29 апреля 2011

Вы можете получить этот URL из встроенного браузера?

Если нет, это означает, что настройки вашей сети неверны. Если вы находитесь в эмуляторе, вы можете взглянуть на сетевой раздел документации.

Если вы работаете в OS / X, эмулятор использует «первый» интерфейс, en0, даже если вы используете беспроводную связь (en1), поскольку en0 без кабеля по-прежнему помечен как up. Вы можете выдать ifconfig en0 down и перезапустить эмулятор. Мне кажется, я читал о похожем поведении в Windows.

Если вы используете Wi-Fi / 3G, обратитесь к вашему сетевому провайдеру, чтобы узнать правильные настройки DNS.

6 голосов
/ 28 августа 2015

Эта ошибка из-за вашего хоста не может быть преобразована в IP-адреса через DNS.

Решение этой проблемы:

1- Убедитесь, что вы подключены кИнтернет (проверьте качество сети).

2- Убедитесь, что у вас есть соответствующие разрешения для доступа к сети

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
4 голосов
/ 27 апреля 2014

Я получил ту же ошибку, и проблема заключалась в том, что я был на VPN, и я не осознавал этого. После отключения VPN и повторного подключения Wi-Fi решил его.

2 голосов
/ 07 апреля 2017

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

0 голосов
/ 08 марта 2017

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

Протестируйте, запустив пару HD-видео на YouTube для воспроизведения, или просто перейдите в загруженный Starbucks.

...