2011-01-18 20 views
1

正式なホスト名の正しい概念を教えてもらえますか。また、Windows上の正規のホスト名はどうすれば確認できますか?正規のホスト名

実は、私はこの問題に直面しています:私は、その正規のホスト名に入力し、「サーバー名」を変換するJavaコードを持っている:

try { 
    InetAddress in = InetAddress.getByName(REQUESTSERVER); 
    REQUESTSERVER = in.getCanonicalHostName(); 
    System.out.println("Canonical REQUESTSERVER "+ REQUESTSERVER); 
} catch(Exception e) { 
    System.out.println("lookup failed"); 
} 

は変数REQUESTSERVERは、ネットワークを介して異なる値を持つことができますか?

+0

@momojeet - 私は従いますか? **あなたが値を再割り当てする前にREQUESTSERVER **の値は何ですか? – jmort253

+0

@jmort: - そのようなpns15a.crpny.ksrt.com..somethingのようなサーバの名前... – monojeet

答えて

0

確かに、単一の物理ホストが異なる仮想Webサイトを提供する仮想ホスティングの(共通の)場合です。この場合、クライアントがサーバーにアクセスするために使用するホスト名は、Java ServletメソッドServletRequest.getServerName()から使用可能になります。

このSO questionを参照してください。

1

GoogleのCanonicalHostName()を取得するには、hereの例をご覧ください。 私は私の地元のボックスに同じプログラムを実行したとき、それはwww.google.comのためになるの出力の一つは、私がどのようにreppective DNSを依存し、そう

Which Host:www.google.com 
Canonical Host Name:74.125.227.49 
Host Name:www.google.com 
Host Address:74.125.227.49 

として出力を

Which Host:www.google.com 
Canonical Host Name:po-in-f104.google.com 
Host Name:www.google.com 
Host Address:72.14.253.104 

頂けれ変数REQUESTSERVERはネットワーク全体で異なる値を持ちます

+0

ok、それは行く、ありがとう....あなたはWindowsとLinuxでその名前を取得する方法を教えてくれますか?マシン... – monojeet

+0

異なる値は: - どのように私はこのコードの部分なしで得ることができます。私はLinuxとWindowsの両方が必要です! – monojeet

+0

私が知る限り、両方のマシンが同じDNSサーバーを使って同じネットワーク上にある場合、正規名は両方とも同じになります。 –