Care sunt pasii ce ar trebui să ia pentru a rezolva eroarea:
java.net.UnknownHostException: Invalid hostname for server: local
Am adăugat noi nume gazdă virtuală la Android emulator dar rezultatul se întoarce la
java.net.UnknownHostException virtualhostname at
java.net.InetAddress.lookUpHostByName(InetAddress.java:506)
Când am tip mele virtualhost URL-ul pe PC-ul meu, acesta funcționează pe display. Apoi, din nou, atunci când am fugit pe Emulator si verifica pe Logcat, nu am putut't fi capabil de a citi sau de a verifica de stare HTTP dacă 200, 202, sau un cod de eroare număr. Pur și simplu a revenit la UnknownHostException
Am avut aceeasi problema pe mac-ul meu. Am gasit problema, atunci când m-a frapat a mea $HOSTNAME
de la terminal și a revenit ping: nu se poate rezolva myHostName: Unknown host
.
Pentru a rezolva:
echo $HOSTNAME
pe terminalul dumneavoastră.myHostName
), încercați să-l ping : ping myHostName
. Dacă se întoarce ping: nu se poate rezolva myHostName: Unknown host
, apoi se adaugă o intrare în `/etc/hosts file.127.0.0.1 myHostName
Sper că vă ajută.
Ce-excepția este de fapt să spun este că nu există niciun server cu numele "locale". Parerea mea este ca're încercarea de a se conecta la computerul local. Încercați cu hostname "localhost" în loc, sau poate
127.0.0.1sau
::1` (ultima este IPv6).
De javadocs:
Aruncat pentru a indica faptul că adresa IP de un host nu a putut fi determinată.
127.0.0.1 ' or
::1sau
"localhost"` ar trebui să fie întotdeauna interfața loopback, așa că, dacă nu't lucru nu'd fi într-adevăr surprins.
Dacă există într-adevăr este un server numit "locale" pe rețea - examina setările DNS sau adăugați-l la fișierul hosts.
java.net.UnknownHostException: Host este nerezolvată:
Aruncat pentru a indica faptul că adresa IP a unui host nu a putut fi determinată.
Această excepție este ridicat, de asemenea, atunci când sunteți conectat la un wifi valabil dar routerul nu primesc internet. Este foarte ușor de a reproduce acest lucru:
Veți observa acest lucru de eroare!!
Puteți't într-adevăr a rezolva acest lucru, puteți notifica utilizatorul cu grație. (ceva de genul - "Imposibilitatea de a face o conexiune")
Acest lucru nu este specific la întrebarea, dar această întrebare a apărut când am fost Googling pentru mentionat UnknownHostException
, și nu este de găsit pe nicăieri, așa am crezut că am'd adăugați un răspuns aici.
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.<init>(Socket.java:434)
at java.net.Socket.<init>(Socket.java:211)
...
Nu contează cum am încercat să se conecteze la orice valabile gazdă, de imprimare-l în terminalul nu ar ajuta, fie. Totul a fost bine.
Nu sun trim()
pentru host string care conține spații albe. În scris un server proxy gazdă a fost obținut de la HTTP headers cu utilizarea de split(":")
prin punct și virgulă pentru "GAZDĂ" antet. Acest lucru a lăsat spațiu, și provoacă UnknownHostException
ca o gazdă cu spațiu nu este valabil gazdă. Face un host = gazdă.trim()
pe String host
a rezolvat ambiguu problema.
Hostname-ul lipsește. JBoss folosește această variabilă de mediu ($HOSTNAME) atunci când se conectează la server.
[root@xyz ~]# echo $HOSTNAME
xyz
[root@xyz ~]# ping $HOSTNAME
ping: unknown host xyz
[root@xyz ~]# hostname -f
hostname: Unknown host
Sunt zeci de lucruri care pot provoca acest lucru. Vă rugăm să comentați dacă ai descoperi un nou motiv.
Pentru un hack, până când puteți rezolva pentru totdeauna problema asta pe server, puteți adăuga o linie la sfârșitul /etc/hosts:
127.0.0.1 xyz.xxx.xxx.edu xyz
Acest lucru se poate întâmpla din diverse motive
"hostname, localhost rezolvă la un loopback adresa: 127.0.0.1; folosind 10.xxx.1.193 în loc (pe interfață cscotun0)"
Verifica $HOSTNAME
încercați să ping $HOSTNAME pe commandline și dacă nu funcționează, tweak setările de sistem pentru a face dvs. de gazdă locală răspunde la ping-uri
Încercați următoarele :
String url = "http://www.google.com/search?q=java";
URL urlObj = (URL)new URL(url.trim());
HttpURLConnection httpConn =
(HttpURLConnection)urlObj.openConnection();
httpConn.setRequestMethod("GET");
Integer rescode = httpConn.getResponseCode();
System.out.println(rescode);
Trim() URL-ul
Vă rugăm să încercați pentru a seta SPARK_LOCAL_IP variabilă de mediu pentru adresa ip(poate fi localhost exemplu, adresa ip proprie) pe care doriți să vă conectați. E. g.
$ export SPARK_LOCAL_IP=182.95.208.152
În acest fel nu va fi necesar pentru a modifica existente linux setări. A lucrat pentru mine, sper că vă ajută pe voi.
Încearcă să se conecteze la computerul local.încercați cu hostname "localhost" în loc sau poate ::/ - ultima este ipv6
Conectați-vă telefonul mobil cu diferite conexiune wifi cu diferite furnizor de servicii. Eu nu't știu exact problema, dar nu am putut conecta la server cu un anumit furnizor de servicii, ci să funcționeze atunci când m-am conectat la alt furnizor de servicii. Deci, încercați să-l!
Daca /etc/localhosts fișier de intrare de mai jos: Adăugați numele de gazdă de intrare de mai jos:
127.0.0.1 local host (add your hostname here)
::1 (add hostname here) (the last one is IPv6).
Acest lucru ar trebui să rezolve problema.