Impossible de résoudre l'hôte «<insérer l'URL ici>» Aucune adresse associée au nom d'hôte

98

J'ai essayé de suivre ce tutoriel: Obtenir des données à partir du Web

J'ai essayé de l'implémenter sur Android 3.0, la dernière plate-forme pour tablettes, cependant, j'obtiens cette erreur: " Impossible de résoudre l'hôte" www.anddev.org "Aucune adresse associée au nom d'hôte. "

Vous pouvez extraire l'URL que j'ai utilisée juste pour prouver que le fichier existe. http://www.anddev.org/images/tut/basic/getdatafromtheweb/loadme.txt

J'ai créé une classe privée et l'ai étendue avec asynctask. Voici le code:

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

Toute aide serait appréciée.

황현정
la source
Vous pouvez vous référer à ce lien . J'espère que cela aidera
Summved Jain

Réponses:

148

Je parie que vous avez oublié de donner à votre application la permission d'utiliser Internet. Essayez d'ajouter ceci à votre manifeste Android:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
sangsue
la source
consultez toujours logcat pour obtenir le type d'erreur, alors votre consommation de temps sera enregistrée ...... chaque fois que vous oubliez d'ajouter une autorisation ... logcat affiche l'erreur ...... ou génère le rapport de plantage ... ........
Vipin Sahu
14
eh bien j'ai aussi ce problème. J'ai des autorisations correctement configurées. URLConnection fonctionne bien la plupart du temps. Mais parfois, j'obtiens cette erreur plusieurs fois de suite. C'est particulièrement difficile à déboguer, car cela n'arrive que de temps en temps ...
hendrix
Vous avez également ma permission de me sentir bien pour aider la communauté
Sebastien FERRAND
J'ai ajouté cette autorisation, puis j'ai aussi eu la même erreur, y a-t-il un problème dans l'émulateur
Pratik Butani
7
J'ai rencontré cette erreur car j'avais précédemment désactivé les données mobiles et oublié de les réactiver. Cela fonctionnait bien au bureau, mais dès que je me suis éteint du wifi familier, j'ai eu l'erreur. Parfois, ce sont les choses stupides: |
Karmic Coder
117

Veuillez vérifier si vous disposez d'une connexion Internet valide.

Vladimir Ivanov
la source
hmm ...: Je l'ai vérifié, et il semble que vous ayez raison. Je ne sais vraiment pas pourquoi, mais ma connexion Internet est correcte, cependant, le navigateur à l'intérieur de l'émulateur ne peut accéder à rien. C'est étrange. Le navigateur de l'émulateur fonctionnait bien il y a quelques minutes.
황현정
1
Je me sens comme le plus grand idiot. Je développais à la maison, au lieu du bureau et j'ai oublié de configurer le WiFi. Parfois, il faut des choses comme celles-ci pour vous rappeler que vous êtes parfois un idiot. Alors, merci de tout cœur de me faire sentir comme un idiot! :)
RileyE
2
Pareil pour moi! D'une manière ou d'une autre, le Wifi et le mode avion peuvent être sélectionnés, donc je n'ai eu qu'à désactiver le mode avion (je n'étais pas vraiment connecté à Internet-palmface)
d1jhoni1b
1
Lol ne sais pas pourquoi je m'attendais à ce que mon S3 se connecte sans fil activé.
Declan McKenna
Damit. J'ai désactivé la connexion Internet au simulateur hier et j'ai oublié de l'allumer ce matin, merci!
Robert J. Clegg
65

Pouvez-vous avoir pris la permission

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

MAIS

Vous avez peut-être oublié d' activer Internet sur mobile ou sur n'importe quel appareil.

Pratik Butani
la source
2
Ne pas avoir l'appareil en wifi est ce qui m'a surpris! Oups.
Nico
11
Le redémarrage de l'émulateur l'a corrigé pour moi.
Kacy
Merci d'avoir mis l'accent sur la partie DISPOSITIF MOBILE. :)
Burak Karakuş
12

Pouvez-vous accéder à cette URL à partir du navigateur intégré?

Sinon, cela signifie que la configuration de votre réseau n'est pas correcte. Si vous êtes dans l'émulateur, vous pouvez consulter la section réseau de la documentation.

Si vous êtes sur OS / X, l'émulateur utilise "la première" interface, en0 même si vous êtes sur sans fil (en1), car en0 sans câble est toujours marqué comme actif. Vous pouvez lancer ifconfig en0 downet redémarrer l'émulateur. Je pense avoir lu un comportement similaire sur Windows.

Si vous êtes sur Wifi / 3G, appelez votre fournisseur de réseau pour les paramètres DNS corrects.

Heiko Rupp
la source
hmm ...: Je l'ai vérifié, et il semble que vous ayez raison. Je ne sais vraiment pas pourquoi, mais ma connexion Internet est correcte, cependant, le navigateur à l'intérieur de l'émulateur ne peut accéder à rien. C'est étrange ... Le navigateur de l'émulateur fonctionnait bien il y a quelques minutes.
황현정
Merci! Dans mon cas, un intranet a été défini comme l'URL à l'origine de l'erreur, l'utilisation d'un extranet a évidemment résolu le problème
CGR
11

si vous avez Internet USB comme moi, l'émulateur semble ne pas aimer que la connexion soit activée et désactivée, vous devrez peut-être redémarrer l'émulateur

Ian
la source
6

Cette erreur à cause de votre hôte ne peut pas être traduite en adresses IP via DNS.

Résolvez ce problème:

1- Assurez-vous de vous connecter à Internet (vérifiez la qualité du réseau).

2- Assurez-vous de prendre les autorisations nécessaires pour accéder au réseau

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
Mina Fawzy
la source
4

J'ai eu la même erreur et le problème était que j'étais sur VPN et je ne m'en rendais pas compte. Après avoir déconnecté le VPN et reconnecté le wifi, le problème a été résolu.

adubey
la source
2

Assurez-vous également que votre appareil n'est pas en mode avion et / ou que l'utilisation des données est activée.

Dave Justen
la source
0

Si vous voyez cela par intermittence sur le wifi ou le LAN, mais que votre connexion Internet mobile semble correcte, il est fort probable que le routeur de passerelle bon marché de votre FAI subisse une charge de trafic élevée.

Vous devez intercepter ces erreurs et afficher un rappel à l'utilisateur pour qu'il ferme toutes les autres applications utilisant le réseau.

Testez en exécutant quelques vidéos youtube HD sur votre bureau pour les reproduire, ou allez simplement dans un Starbucks occupé.

Dominic Cerisano
la source
0

Le redémarrage de l'émulateur fonctionne dans certains scénarios.

Ramdhas
la source
0

J'ai eu le même problème avec l'émulateur Android 10 et j'ai pu résoudre le problème en suivant les étapes ci-dessous:

  1. Allez dans Paramètres → Réseau et Internet → Avancé → DNS privé
  2. Sélectionnez le nom d'hôte du fournisseur DNS privé
  3. Entrez: dns.google
  4. Cliquez sur Enregistrer

Avec cette configuration, votre URL devrait fonctionner comme prévu.

Andrey P.
la source