4

IPのリストがあります。DNS を変更する必要があります。つまり、Web サイト名が必要です。

私は次のことを試しました:

InetAddress addr = InetAddress.getByName("98.138.253.109");
String host = addr.getCanonicalHostName();
System.out.println(host);

しかし、私の例の IP は yahoo.com のものです。コードを実行すると、ir1.fp.vip.ne1.yahoo.com が得られます。

IP を入力してドメイン名を取得できる方法が必要です。

4

2 に答える 2

4

IPアドレスを使用してドメイン名を(期待どおりに)取得できない場合があります。Yahooにはいくつかのサーバーがあり、それらはすべてドメイン名yahoo.comにマップされます。ただし、個別のIPアドレスとホスト名があります。addr.getCanonicalHostName()は、ドメイン名ではなくホスト名を返します。

于 2013-01-31T18:28:00.867 に答える
4

提供されたコードの IP アドレスは、yahoo によって保持されているため、yahoo に解決されます。

使用している IP アドレスは、1 つのホストのみに指定されています。ご想像のとおり、yahoo にはおそらく数千のサーバーがあります。IP アドレスの割り当てが割り当てられ、内部割り当てに適していると判断した場合に再利用します。yahoo ドメインの下の異なるサーバーは異なる名前を持っているため、特定のサーバーから IP アドレスを参照すると、その特定のサーバーの名前が取得されます。yahoo.com の一般的な ipaddress については、nslookup を実行して ipaddress の範囲全体を照会して yahoo.com の割り当てを見つけ、そこから一般化する場合を除き、非表示になる可能性があります。

于 2013-01-31T18:23:13.300 に答える