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] LocalDateTimeクラスで日時を生成する

Java8.0から導入された、 java.time.LocalDateTimeクラスで日時を生成する ...

[Java] LocalDateクラスで日付を生成する

Java8.0から導入された、 java.time.LocalDateクラスで日付を生成する方法です ...

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

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

[Java共通部品] 日付文字列(YYYYMMDD)の月末日を取得する

指定した日付文字列(YYYYMMDD)の月末日を取得する共通関数です。 結果は日付文字列(YYYYM ...

[Java共通部品] 半角英字チェック

半角英字をチェックするサンプル共通関数です。 サンプルメソッド 例)半角英字の場合のみtrueを返す ...