私のJavaアプリケーションで、ユーザーがIPを入力するとホスト名を表示する必要があります。ホスト名が指定されていれば、ホストのIPを表示する必要があります。IPアドレスをホスト名に変換する
たとえば、ユーザが173.194.36.37
のようなIPアドレスを入力した場合、アプリケーションにはgoogle.com
とその逆の句が表示されます。
この操作を実行するユーティリティはありますか?
私のJavaアプリケーションで、ユーザーがIPを入力するとホスト名を表示する必要があります。ホスト名が指定されていれば、ホストのIPを表示する必要があります。IPアドレスをホスト名に変換する
たとえば、ユーザが173.194.36.37
のようなIPアドレスを入力した場合、アプリケーションにはgoogle.com
とその逆の句が表示されます。
この操作を実行するユーティリティはありますか?
あなたはJavaでコーディングされている場合は、ドメイン名の面ではInetAddress
InetAddress addr = InetAddress.getByName("173.194.36.37");
String host = addr.getHostName();
System.out.println(host);
明らかに、UnknownHostExceptionの例外処理を忘れないでください。 – ccKep
あなたが探しているものはDNSと呼ばれています。 This projectあなたが探しているようです。
'InetAddress.getHostName()'があれば、サードパーティのライブラリを持ってくる必要はありません。 –
@PhilippReichart「利用可能なユーティリティはありますか?」という質問は、オープンソースの第三者図書館ではないと思います。 –
@PrakashK Simplicity。既存のメソッドを呼び出すことで、必要なものすべてを達成できるのであれば、100 *クラス以上の*を導入するのはなぜですか?移動部品がずっと少なく、間違ってしまうことも少なくありません。 –
を使用してみてください、ないユーティリティであり組み込まれている、いません。 InetAddress
のgetCanonicalHostName()
を使用してホストの名前を取得します(ただしドメイン名は取得できません)。ここでは、ドメイン名を取得するDNS Javaプロジェクトにリンクしています。接続し、Googleのサーバーのいずれかからホスト名を取得する
例のコードは以下の通りである:
public class GetHostName {
public static void main(String[] args) throws Exception {
InetAddress address = InetAddress.getByAddress(new byte[]{74, 125,(byte) 227, 7});
System.out.println(address.getCanonicalHostName());
}
}
プロジェクトSomeKittensはあなたに呼ばれ、Javaで書かれた完全なDNSサーバのように可能性があります見えますあなたが必要とする以上のものになります。 java.net.InetAddress
を見てください:
java.net.InetAddress.getByName("example.com").getHostAddress();
あなたは、IP番号がいくつかのホスト名を持つかもしれないことを知っていますか? 127.0.0.1に* localhostとlocalhost.localdomainの両方があります。 – vidstige
@vidstige逆DNSではありません。ここで、IPはちょうど1つのホスト名、いわゆる "標準的なホスト名"にマップされます。 – glglgl
あなたは一意の結果を得ることができません。http://aruljohn.com/ip2hostname.htmlを参照してください173.194.36.37 bom04s02-in-f5.1e100.netを参照してくださいgoogle.com! – SjB