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.