Javaちょこっとリファレンス ブログ

Java開発時にぜひご利用ください。

Java

[Java] getRemoteAddr とgetRemoteHostの違い

投稿日:

getRemoteAddr とgetRemoteHostの違いについてです

getRemoteAddr とgetRemoteHostの違い

結論から言うと、
getRemoteAddr はクライアントのIPアドレスを取得するメソッドで、
getRemoteHost はクライアントのホスト名を取得するメソッドです。


両方ともクライアントのIPアドレスが取得され、何が違うのかわからない時がありますが
getRemoteHostはIPからホスト名を逆引きしてホスト名を取得し、
逆引きできない時はIPアドレスを返すのでIPアドレスが取得されます。

そのため、getRemoteHostでもIPアドレスが返る場合があります。

【getRemoteAddr とgetRemoteHost】
request.getRemoteAddr()クライアントのIPアドレスを取得する
request.getRemoteHost()クライアントのホスト名を取得する
(ホスト名が取得できない場合はIPアドレスを返す)

一つ注意点があり、getRemoteHostでホスト名を取得したい場合はserver.xmlの
ConnectorにenableLookups="true"を指定しておく必要があります。

例)server.xmlにenableLookups="true"を指定した例

関連項目


スポンサーリンク

スポンサーリンク

-Java

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

関連記事

[Java] Dateオブジェクトを生成する

Dateオブジェクトを生成するサンプルです。 (java.util.Date) サンプルソース 例1 ...

[Java] String文字列とStringBufferを比較する(.contentEquals)

String文字列とStringBufferを比較するには、.contentEquals()を使用し ...

[Java] 文字列の大文字→小文字の変換を行う(.toLowerCase)

文字列の大文字→小文字の変換を行うには、.toLowerCaseを使用します。 構文 (java.l ...

[Java] デフォルトエンコーディングを表示する

デフォルトエンコーディングを表示するサンプルです。 サンプルソース 例)デフォルトエンコーディングを ...

[Java] 数値リテラルで進数を明示的に指定する

数値リテラルで進数を明示的に指定する方法です。 たとえば数値を8進数で指定したい、16進数で指定した ...