java.net.UnknownHostException: Nom d’hôte non valide pour le serveur: local

Quelles sont les étapes à suivre pour résoudre l’erreur:

java.net.UnknownHostException: Invalid hostname for server: local 

J’ai ajouté le nouveau nom d’hôte virtuel sur l’émulateur Android, mais le résultat revient à

  java.net.UnknownHostException virtualhostname at java.net.InetAddress.lookUpHostByName(InetAddress.java:506) 

Lorsque je tape mon URL virtualhost sur mon PC, cela fonctionne à l’écran. Là encore, lorsque j’ai exécuté Emulator et vérifié Logcat, je ne pouvais pas lire ou vérifier l’état HTTP si 200, 202 ou un numéro de code d’erreur. Il est simplement retourné à UnknownHostException

Ce que l’on dit vraiment, c’est qu’il n’ya pas de serveur connu avec le nom “local”. Je suppose que vous essayez de vous connecter à votre ordinateur local. Essayez avec le nom d’hôte "localhost" place, ou peut-être 127.0.0.1 ou ::1 (le dernier est IPv6).

Depuis les javadocs :

Émis pour indiquer que l’adresse IP d’un hôte n’a pas pu être déterminée.

127.0.0.1 ou ::1 ou "localhost" devrait toujours être l’interface de bouclage, donc si cela ne fonctionne pas, je serais vraiment surpris.

S’il existe réellement un serveur appelé “local” sur votre réseau – examinez vos parameters DNS ou ajoutez-le à votre fichier hosts.

J’avais le même problème sur mon mac. J’ai trouvé le problème quand j’ai $HOSTNAME à mon $HOSTNAME depuis le terminal et que cela $HOSTNAME ping: cannot resolve myHostName: Unknown host .

Résoudre:

  1. Faites echo $HOSTNAME sur votre terminal.
  2. Quel que soit le nom d’hôte qu’il affiche (disons myHostName ), essayez de lui ping myHostName : ping myHostName . S’il renvoie ping: cannot resolve myHostName: Unknown host puis ajoutez une entrée dans votre fichier /etc/hosts .
  3. Pour cela, éditez le fichier /etc/hosts et ajoutez les éléments suivants:

    127.0.0.1 myHostName

J’espère que cela aide.

java.net.UnknownHostException: l’hôte n’est pas résolu:

Émis pour indiquer que l’adresse IP d’un hôte n’a pas pu être déterminée.

Cette exception est également soulevée lorsque vous êtes connecté à un réseau sans fil valide, mais que le routeur ne reçoit pas Internet. C’est très facile à reproduire ceci:

  1. Connectez-vous à un wifi valide
  2. Maintenant, retirez le câble du routeur lorsque le routeur est branché

Vous observerez cette erreur !!

Vous ne pouvez pas vraiment résoudre ce problème, vous ne pouvez avertir l’utilisateur qu’avec élégance. (quelque chose comme – “Impossible d’établir une connexion”)

Cela pourrait se produire pour diverses raisons

1) Vérifiez si vous avez un VPN connecté, vous pourriez avoir cette erreur parfois si oui

“Votre nom d’hôte, localhost, est résolu en une adresse de bouclage: 127.0.0.1; utiliser plutôt 10.xxx.1.193 (sur l’interface cscotun0)”

2) Vérifiez votre $ HOSTNAME

3) essayez de faire un ping sur $ HOSTNAME en ligne de commande et si cela ne fonctionne pas, ajustez les parameters du système pour que votre hôte local réponde aux pings

Votre nom d’hôte est manquant. JBoss utilise cette variable d’environnement ($ HOSTNAME) lorsqu’il se connecte au serveur.

 [root@xyz ~]# echo $HOSTNAME xyz [root@xyz ~]# ping $HOSTNAME ping: unknown host xyz [root@xyz ~]# hostname -f hostname: Unknown host 

Il y a des dizaines de choses qui peuvent causer cela. S’il vous plaît commenter si vous découvrez une nouvelle raison.

Pour un piratage jusqu’à ce que vous puissiez résoudre définitivement ce problème sur votre serveur, vous pouvez append une ligne à la fin de votre fichier / etc / hosts:

 127.0.0.1 xyz.xxx.xxx.edu xyz 

Ce n’est pas spécifique à la question, mais cette question a été soulevée lorsque je UnknownHostException mentionnée, et le correctif n’a pas été trouvé ailleurs, alors j’ai pensé append une réponse ici.

L’exception qui a été continuellement reçue était:

 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) ... 

Quelle que soit la manière dont j’ai essayé de me connecter à un hôte valide, l’imprimer dans le terminal n’aiderait pas non plus. Tout allait bien.

La solution

Ne pas appeler sortingm() pour la chaîne hôte contenant des espaces . En écrivant un serveur proxy, l’hôte a été obtenu à partir des en-têtes HTTP avec l’utilisation de split(":") par des points-virgules pour l’en-tête HOST . Cela laisse des espaces et provoque l’ UnknownHostException car un hôte avec des espaces n’est pas un hôte valide. Faire un host = host.sortingm() sur l’ Ssortingng host résolu le problème ambigu.

Essayez ce qui suit:

 Ssortingng url = "http://www.google.com/search?q=java"; URL urlObj = (URL)new URL(url.sortingm()); HttpURLConnection httpConn = (HttpURLConnection)urlObj.openConnection(); httpConn.setRequestMethod("GET"); Integer rescode = httpConn.getResponseCode(); System.out.println(rescode); 

Trim () l’URL

Essayer de se connecter à votre computer.try local avec le nom d’hôte “localhost” à la place ou peut-être :: / – le dernier est ipv6

Veuillez essayer de définir la variable d’environnement SPARK_LOCAL_IP sur l’adresse IP (peut être localhost, c’est-à-dire votre propre adresse IP) que vous souhaitez connecter. Par exemple

$ export SPARK_LOCAL_IP=182.95.208.152

De cette façon, vous ne serez pas obligé de modifier les parameters Linux existants. Travaillé pour moi, l’espoir vous aide aussi.

Connectez votre mobile avec une connexion wifi différente avec différents fournisseurs de services . Je ne connais pas le problème exact, mais je ne pouvais pas me connecter au serveur avec un fournisseur de services spécifique, mais cela fonctionnait lorsque je me connectais à un autre fournisseur de services. Alors, essayez-le!

Si votre fichier / etc / localhosts a une entrée comme ci-dessous: Ajoutez une entrée de nom d’hôte comme ci-dessous:

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

Cela devrait résoudre le problème.

Vous devriez remplacer le [] aussi!

L’exemple est [hostname] et vous devriez remplacer tout cela par quelque chose comme ceci:

 jdbc:mysql://localhost:3306/openfire