java.net.UnknownHostException:サーバーのホスト名が無効です:ローカル
エラーを解決するためには、どのような手順を踏めばよいのでしょうか。
java.net.UnknownHostException: Invalid hostname for server: local
Androidのエミュレータで新しいバーチャルホスト名を追加しましたが、結果は次のようになります。
java.net.UnknownHostException virtualhostname at
java.net.InetAddress.lookUpHostByName(InetAddress.java:506)
PCでバーチャルホストのURLを入力すると、表示上は動作しています。また、エミュレータ上で動作させてLogcatで確認すると、HTTPステータスが200や202、あるいはエラーコードの番号を読み取ることも確認することもできませんでした。単にUnknownHostException
が返ってくるだけでした。
115
3
この例外が実際に言っているのは、"local"という名前の既知のサーバーが存在しないということです。推測するに、あなたはローカルコンピュータに接続しようとしているのではないでしょうか。ホスト名を
"localhost"
にするか、あるいは127.0.0.1
や::1
(最後のものはIPv6)にしてみてください。javadocs](http://docs.oracle.com/javase/7/docs/api/java/net/UnknownHostException.html)より。
127.0.0.1
や
::1、
"localhost"`は常にループバックインターフェースであるべきなので、これが動作しないとなると本当に驚きです。もし本当にネットワーク上に "local"というサーバーがあるのなら、DNSの設定を調べるか、hostsファイルに追加してみてください。
ホストのIPアドレスが特定できないことを示すためにスローされます。
この例外は、有効な無線LANに接続しているが、ルーターがインターネットを受信していない場合にも発生します。これを再現するのは非常に簡単です。
1.有効な無線LANに接続します。 2.ルーターが接続されている状態で、ルーターからケーブルを外します。
すると、こんなエラーが出ます。
これを解決することはできませんが、潔くユーザーに通知することはできます。(例えば - "Unable to make a connection")
ローカルコンピュータに接続しようとしています。ホスト名を"localhost"に変更するか、または ::/ に変更してみてください - 最後のものはipv6です。