Impossibile risolvere l'host "<inserisci URL qui>" Nessun indirizzo associato al nome host


98

Ho provato a seguire questo tutorial: Recupero di dati dal Web

Ho provato a implementarlo su Android 3.0, l'ultima piattaforma per tablet, tuttavia, ottengo questo errore: " Impossibile risolvere l'host" www.anddev.org "Nessun indirizzo associato al nome host. "

Puoi controllare l'URL che ho usato solo per dimostrare che il file esiste. http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt

Ho creato una classe privata e l'ho estesa con asynctask. Ecco il codice:

    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);
}
}

Qualsiasi aiuto là fuori sarebbe apprezzato.


Puoi fare riferimento a questo link . Spero che questo possa aiutare
— Summved Jain

Risposte:


148

La mia scommessa è che ti sei dimenticato di dare alla tua app il permesso di usare Internet. Prova ad aggiungerlo al tuo manifest Android:

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

vedi sempre logcat per ottenere il tipo di errore, quindi il tuo consumo di tempo verrà salvato ... quando dimentichi di aggiungere l'autorizzazione ... logcat mostra l'errore ... o genera il rapporto sul crash ... ........
— Vipin Sahu

14
beh, ho anche questo problema. Ho le autorizzazioni impostate correttamente. URLConnection funziona bene la maggior parte del tempo. Ma a volte, ottengo questo errore più volte di seguito. È particolarmente difficile eseguire il debug, poiché viene visualizzato solo di tanto in tanto ...
— hendrix

Hai anche il mio permesso di sentirti benissimo per aiutare la comunità
— Sebastien FERRAND

Ho aggiunto questa autorizzazione poi anche ho ottenuto lo stesso errore, c'è qualche problema in Emulatore
— Pratik Butani

7
Ho riscontrato questo errore perché in precedenza avevo disattivato i dati mobili e ho dimenticato di riattivarli. Ha funzionato bene in ufficio, ma non appena mi sono disconnesso dal Wi-Fi familiare, ho ricevuto l'errore. A volte sono le cose stupide: |
— Karmic Coder

117

Per favore, controlla di avere una connessione internet valida.


hmm ...: Ho controllato, e sembra che tu abbia ragione. Non so davvero perché, ma la mia connessione Internet va bene, tuttavia, il browser all'interno dell'emulatore non può accedere a nulla. È strano .. Il browser dell'emulatore funzionava bene pochi minuti fa.
— 황현정

1
Mi sento il più grande idiota. Stavo sviluppando a casa, invece che in ufficio e ho dimenticato di configurare il WiFi. A volte ci vogliono cose come queste per farti ricordare che a volte sei un idiota. Quindi, grazie di cuore per avermi fatto sentire un idiota! :)
— RileyE

2
Stessa cosa per me! in qualche modo è possibile selezionare la modalità Wifi e aereo, quindi ho dovuto disabilitare solo la modalità aereo (non ero realmente connesso a Internet-palmface)
— d1jhoni1b

1
Lol non so perché mi aspettavo che il mio S3 accedesse senza wireless acceso.
— Declan McKenna

Damit. Ho spento la connessione Internet al simulatore, ieri e mi sono dimenticato di accenderlo questa mattina, grazie!
— Robert J. Clegg

65

Possa tu aver preso il permesso

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

MA

Potresti aver dimenticato di ACCENDERE Internet su dispositivi mobili o su qualsiasi dispositivo.


2
Non avere il dispositivo in wifi è ciò che mi ha colto di sorpresa! Ops.
— Nico

11
Il riavvio dell'emulatore lo ha risolto per me.
— Kacy

Grazie per aver sottolineato la parte DISPOSITIVO MOBILE. :)
— Burak Karakuş

12

Sei in grado di raggiungere quell'URL dall'interno del browser integrato?

In caso contrario, significa che la configurazione della rete non è corretta. Se sei nell'emulatore, puoi dare un'occhiata alla sezione networking dei documenti.

Se sei su OS / X, l'emulatore utilizza "la prima" interfaccia, en0 anche se sei in wireless (en1), poiché en0 senza cavo è ancora contrassegnato come up. Puoi emettere ifconfig en0 downe riavviare l'emulatore. Penso di aver letto di comportamenti simili su Windows.

Se sei su Wifi / 3G, chiama il tuo provider di rete per le impostazioni DNS corrette.


hmm ...: Ho controllato, e sembra che tu abbia ragione. Non so davvero perché, ma la mia connessione Internet va bene, tuttavia, il browser all'interno dell'emulatore non può accedere a nulla. È strano .. Il browser dell'emulatore funzionava bene un paio di minuti fa.
— 황현정

Grazie! Nel mio caso è stata impostata una intranet come URL che causava l'errore, l'utilizzo di un'extranet ovviamente ha risolto il problema
— CGR

11

se hai Internet USB come me, l'emulatore sembra non gradire l'attivazione e la disattivazione della connessione quindi potrebbe essere necessario riavviare l'emulatore


6

Questo errore a causa del tuo host non può essere tradotto in indirizzi IP tramite DNS.

Risolvi questo problema:

1- Assicurati di connetterti a Internet (controlla la qualità della rete).

2- Assicurati di avere l'autorizzazione adeguata per accedere alla rete

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

4

Ho ricevuto lo stesso errore e per il problema ero su VPN e non me ne rendevo conto. Dopo aver disconnesso la VPN e ricollegato il wifi, è stato risolto.


2

Inoltre, assicurati che il tuo dispositivo non sia in modalità aereo e / o che l'utilizzo dei dati sia abilitato.


0

Se lo vedi in modo intermittente su Wi-Fi o LAN, ma la tua connessione Internet mobile sembra a posto, è molto probabile che il router gateway economico del tuo ISP stia subendo un carico di traffico elevato.

Dovresti intercettare questi errori e visualizzare un promemoria all'utente di chiudere qualsiasi altra app che utilizza la rete.

Prova eseguendo un paio di video di YouTube in HD sul desktop per riprodurli, o semplicemente vai in uno Starbucks affollato.


0

Il riavvio dell'emulatore funziona in alcuni scenari.


0

Ho avuto lo stesso problema con l'emulatore Android 10 e sono stato in grado di risolvere il problema seguendo i passaggi seguenti:

  1. Vai a Impostazioni → Rete e Internet → Avanzate → DNS privato
  2. Seleziona il nome host del provider DNS privato
  3. Immettere: dns.google
  4. Fare clic su Salva

Con questa configurazione, l'URL dovrebbe funzionare come previsto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.