ホスト名が "localhost"の場合、HostAndPort-Instanceを作成する最も簡単な方法は何ですか?

HostAndPort a> guavaから、ホストとポートを格納します。ホストが "localhost" で、 "127.0.0.1" ではない場合、有効な HostAndPort - インスタンスを作成する最も簡単な方法は何ですか?

HostSpecifier.isValid(String)を使用してホストを検証してから、 HostAndPort -Instanceを作成しますが、 "localhost"に対して false を返します。したがって私の場合、 "localhost"を "127.0.0.1"に変換する以外は HostSpecifier を使用できません。 DNSルックアップなしでホスト名を検証する別の方法はありますか?

1
名前/ IPリゾルバを設定するローカルシステムにホストファイルがあります。ホストファイル内の何か他のもので上書きしない限り、ローカルホストは127.0.0.1に解決されます。
追加された 著者 Sergey Benner,
はい。私の答えを見てください。 WindowsのC:\ Windows \ System32 \ drivers \ etc \ hostsを編集して自分で試してみて、ローカルホストに任意のipを割り当てて、pingを実行して、lmhosts検索が有効になっている場合にどのように解決されるかを確認してください。デフォルト。
追加された 著者 Sergey Benner,
「127.0.0.1」は必ずしも「localhost」であるとは限りませんか? 3つのAPIは、そのケースを処理することができますか?
追加された 著者 Chriss,

1 答え

java.net.InetAddress.getByName(String hostname) is the one. http://docs.oracle.com/javase/6/docs/api/java/net/InetAddress.html

ローカルアドレス検索は、有効になっている場合はlmhosts、有効になっている場合はlmhosts、ネームサービススイッチの設定( /etc/nsswitch.conf )を使用して最初のファイルを検索する場所を調べる、dns、nis ....などです( man nsswitch.conf )。 Java API呼び出しは、システム構成によって解決されます。

編集:

you probably want to take a look at this library too http://www.xbill.org/dnsjava/


これがabitを助けることを望みます。

2
追加された