JavaでIPアドレスを取得する方法

リリース: 2019-12-27 14:27:11
オリジナル
7059 人が閲覧しました

JavaでIPアドレスを取得する方法

IP アドレスを取得するための Java メソッド:

/** * 通过HttpServletRequest返回IP地址 * * @param request HttpServletRequest * @return ip String * @throws Exception */ private static String getIpAddr(HttpServletRequest request) { String ip = request.getHeader("x-forwarded-for"); if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("HTTP_CLIENT_IP"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("HTTP_X_FORWARDED_FOR"); } if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); if (LOCAL_IP.equals(ip) || LOCAL_IP1.equals(ip)) { InetAddress inet = null; try { inet = InetAddress.getLocalHost(); ip = inet.getHostAddress(); } catch (UnknownHostException e) { e.printStackTrace(); } } } return ip; }
ログイン後にコピー

HttpServletRequest オブジェクトはクライアントのリクエストを表します。クライアントが HTTP プロトコルを通じてサーバーにアクセスすると、 HTTP リクエストヘッダはすべてこのオブジェクト内にカプセル化されており、このオブジェクトが提供するメソッドを通じて、クライアントが要求するすべての情報を取得できます。

一般的に使用されるメソッド:

getRequestURL メソッドは、クライアントがリクエストを行うと完全な URL を返します。

getRequestURI メソッドは、リクエスト行のリソース名の部分を返します。

getQueryString メソッドは、リクエスト行のパラメータ部分を返します。

getPathInfo メソッドは、リクエスト URL 内の追加のパス情報を返します。追加のパス情報は、リクエスト URL 内のサーブレットのパスの後、クエリ パラメーターの前のコンテンツであり、「/」で始まります。

getRemoteAddr メソッドは、要求を行ったクライアントの IP アドレスを返します。

getRemoteHost メソッドは、リクエストを行ったクライアントの完全なホスト名を返します。

getRemotePort メソッドは、クライアントが使用するネットワーク ポート番号を返します。

getLocalAddr メソッドは、WEB サーバーの IP アドレスを返します。

getLocalName メソッドは、WEB サーバーのホスト名を返します。

Java についてさらに詳しく知りたい場合は、Java 基本チュートリアル列に注目してください。

以上がJavaでIPアドレスを取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!