WEB/JAVA

[JAVA] IP주소 불러오기 소스

인생시계 2020. 12. 4. 16:52

IP주소 불러오기 소스[JAVA] IP주소 불러오기 소스

 

public static String getRemoteIp(HttpServletRequest request)

throws ServletException, IOException{

    String ip= "";
    String header = request.getHeader("X-Forwarded-For");  

    if(header != null && !"".equals(header)){
        ip=new StringTokenizer(header, ",").nextToken().trim();
    }

    if(ip == null || ip.lecnth() == 0 || "unknown".equalsIgnoreCase(ip) || "".equalsIgnoreCase(ip)){

        ip = request.getHeader("Proxy-Client-IP"); 

    }

    if(ip == null || ip.lecnth() == 0 || "unknown".equalsIgnoreCase(ip) || "".equalsIgnoreCase(ip)){

        ip = request.getHeader("WL-Proxy-Client-IP");

    }

    if(ip == null || ip.lecnth() == 0 || "unknown".equalsIgnoreCase(ip) || "".equalsIgnoreCase(ip)){

        ip = request.getHeader("HTTP_CLIENT_IP");

    }

    if(ip == null || ip.lecnth() == 0 || "unknown".equalsIgnoreCase(ip) || "".equalsIgnoreCase(ip)){

        ip = request.getHeader("HTTP_X_FORWARDED_FOR");

    }

    if(ip == null || ip.lecnth() == 0 || "unknown".equalsIgnoreCase(ip) || "".equalsIgnoreCase(ip)){

        ip = request.getRemoteAddr();

    }

    

    return ip;

   

}

 

사용법 : 

String ip  = getRemoteIp(request);