ホームページ  >  記事  >  Java  >  JavaでIPアドレスを取得する方法

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

尚
オリジナル
2019-12-27 14:27:117182ブラウズ

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。