Apa langkah-langkah yang harus saya ambil untuk memecahkan kesalahan:
java.net.UnknownHostException: Invalid hostname for server: local
Saya menambahkan virtual host baru nama di emulator Android tapi hasilnya kembali ke
java.net.UnknownHostException virtualhostname at
java.net.InetAddress.lookUpHostByName(InetAddress.java:506)
Ketika saya ketik saya virtualhost URL pada PC saya, ini karya yang dipamerkan. Kemudian lagi, ketika saya berlari pada Emulator dan check pada Logcat, aku tak't dapat membaca atau mengecek status HTTP jika 200, 202, atau kesalahan kode nomor. Itu hanya kembali ke UnknownHostException
Saya sedang mengalami masalah yang sama pada mac saya. Saya menemukan masalah ketika saya ping saya $HOSTNAME
dari terminal dan kembali ping: tidak dapat menyelesaikan myHostName: Unknown host
.
Untuk mengatasi:
echo $HOSTNAME
pada terminal anda.myHostName
), cobalah untuk ping itu : ping myHostName
. Jika kembali ping: tidak dapat menyelesaikan myHostName: Unknown host
kemudian menambahkan entri ke direktori /etc/hosts
file./etc/hosts
file dan tambahkan berikut:127.0.0.1 myHostName
Semoga membantu.
Apa pengecualian adalah benar-benar katakan adalah bahwa tidak ada yang dikenal server dengan nama "lokal". Saya duga adalah bahwa anda're mencoba untuk terhubung ke komputer lokal anda. Cobalah dengan hostname "localhost"
sebaliknya, atau mungkin 127.0.0.1
atau ::1
(yang terakhir adalah IPv6).
Dari javadocs:
Dilemparkan untuk menunjukkan bahwa alamat IP dari sebuah host tidak dapat ditentukan.
127.0.0.1 d'or
::1atau
"localhost"` harus selalu loopback interface, sehingga kalau tidak,'t bekerja I'd akan benar-benar terkejut.
Jika ada benar-benar adalah sebuah server yang disebut "lokal" pada jaringan anda memeriksa pengaturan DNS anda atau menambahkannya ke file host anda.
java.net.UnknownHostException: Tuan rumah yang belum terselesaikan:
Dilemparkan untuk menunjukkan bahwa alamat IP dari sebuah host tidak dapat ditentukan.
Pengecualian ini juga dibangkitkan ketika anda terhubung ke valid wifi tetapi router tidak menerima internet. Sangat mudah untuk mereproduksi ini:
Anda akan melihat kesalahan ini!!
Anda dapat't benar-benar memecahkan masalah ini, Anda hanya dapat memberitahu pengguna anggun. (sesuatu seperti - "tidak Dapat membuat sambungan")
Hal ini tidak spesifik untuk pertanyaan, tapi pertanyaan ini muncul ketika saya Googling untuk disebutkan UnknownHostException
, dan memperbaiki kesalahan yang tidak ditemukan di tempat lain jadi saya pikir saya'd tambahkan jawaban di sini.
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)
...
Tidak peduli bagaimana saya mencoba untuk terhubung ke semua host yang valid, percetakan di terminal tidak akan membantu baik. Segala sesuatu yang benar.
Tidak menelepon trim()
untuk host string yang berisi spasi. Dalam menulis sebuah proxy server host diperoleh dari HTTP header dengan menggunakan split(":")
dengan tanda koma untuk HOST
header. Ini kiri spasi, dan menyebabkan UnknownHostException
sebagai tuan rumah dengan spasi tidak valid host. Melakukan host = host.trim()
pada String host
soal ambigu masalah.
Hostname anda hilang. JBoss menggunakan variabel lingkungan ini ($HOSTNAME) saat menghubungkan ke server.
[root@xyz ~]# echo $HOSTNAME
xyz
[root@xyz ~]# ping $HOSTNAME
ping: unknown host xyz
[root@xyz ~]# hostname -f
hostname: Unknown host
Ada puluhan hal-hal yang dapat menyebabkan hal ini. Silakan komentar jika anda menemukan alasan baru.
Untuk hack sampai anda secara permanen dapat mengatasi masalah ini pada server anda, anda dapat menambahkan baris akhir dari /etc/hosts:
127.0.0.1 xyz.xxx.xxx.edu xyz
Hal ini dapat terjadi karena berbagai alasan
"hostname Anda, localhost memutuskan untuk loopback address: 127.0.0.1; menggunakan 10.xxx.1.193 sebaliknya (pada antarmuka cscotun0)"
Periksa $HOSTNAME
cobalah untuk ping $HOSTNAME pada commandline dan jika itu tidak bekerja, men-tweak pengaturan sistem untuk membuat host lokal anda merespon ping
Coba yang berikut ini :
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
Silakan coba untuk mengatur SPARK_LOCAL_IP variabel lingkungan ke alamat ip(dapat localhost yaitu alamat ip anda sendiri) yang ingin anda hubungkan. E. g.
$ ekspor SPARK_LOCAL_IP=182.95.208.152
Dengan cara ini anda tidak akan diminta untuk mengubah yang sudah ada linux pengaturan. Bekerja untuk saya, semoga membantu anda terlalu.
Mencoba untuk terhubung ke komputer lokal anda.cobalah dengan hostname "localhost" bukan atau mungkin ::/ - yang terakhir adalah ipv6
Connect ponsel anda dengan koneksi wifi dengan berbagai penyedia layanan. Saya don't tahu persis masalah tapi aku tidak bisa terhubung ke server tertentu dengan penyedia layanan tetapi bekerja ketika saya terhubung ke penyedia layanan lain. Jadi cobalah!
Jika anda di /etc/localhosts file yang telah masuk sebagai berikut: Add hostname entri seperti di bawah ini:
127.0.0.1 local host (add your hostname here)
::1 (add hostname here) (the last one is IPv6).
Ini harus menyelesaikan masalah.