zoukankan      html  css  js  c++  java
  • java 获取用户真实ip

    /**
             * 获取用户真实ip
             * @param request
             * @return
             */
            public 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.getRemoteAddr();
                }
                return ip;
            }


    public static String getIpAddr(HttpServletRequest request) {
    String ip = request.getHeader("X-Forwarded-For");

    if (logger.isInfoEnabled()) {
    logger.info("###getIpAddress(HttpServletRequest) - X-Forwarded-For - String ip=" + ip);
    }

    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
    ip = request.getHeader("Proxy-Client-IP");
    if (logger.isInfoEnabled()) {
    logger.info("###getIpAddress(HttpServletRequest) - Proxy-Client-IP - String ip=" + ip);
    }
    }
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
    ip = request.getHeader("WL-Proxy-Client-IP");
    if (logger.isInfoEnabled()) {
    logger.info("###getIpAddress(HttpServletRequest) - WL-Proxy-Client-IP - String ip=" + ip);
    }
    }
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
    ip = request.getHeader("HTTP_CLIENT_IP");
    if (logger.isInfoEnabled()) {
    logger.info("###getIpAddress(HttpServletRequest) - HTTP_CLIENT_IP - String ip=" + ip);
    }
    }
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
    ip = request.getHeader("HTTP_X_FORWARDED_FOR");
    if (logger.isInfoEnabled()) {
    logger.info("###getIpAddress(HttpServletRequest) - HTTP_X_FORWARDED_FOR - String ip=" + ip);
    }
    }
    if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
    ip = request.getRemoteAddr();
    if (logger.isInfoEnabled()) {
    logger.info("###getIpAddress(HttpServletRequest) - getRemoteAddr - String ip=" + ip);
    }
    }
    } else if (ip.length() > 15) {
    String[] ips = ip.split(",");
    for (int index = 0; index < ips.length; index++) {
    String strIp = (String) ips[index];
    if (!("unknown".equalsIgnoreCase(strIp))) {
    ip = strIp;
    break;
    }
    }
    }
    logger.info("####解析请求的浏览器IP:"+ip);
    return ip;
    }
     
  • 相关阅读:
    【杭电ACM】1.2.4 Financial Management
    【杭电ACM】1.2.1 Biker's Trip Odometer
    【杭电ACM】1097 A hard puzzle
    【西交ACM】100 A+B problem
    【杭电ACM】1.2.2 Climbing Worm
    【杭电ACM】1004 Let the Balloon Rise
    【杭电ACM】1.2.3 hide handkerchief
    【杭电ACM】1.2.5 find your present (2)
    【杭电ACM】1.2.6 decimal system
    【西交ACM】298 第N大的数
  • 原文地址:https://www.cnblogs.com/sagech/p/5165587.html
Copyright © 2011-2022 走看看