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;
    }
     
  • 相关阅读:
    103. 二叉树的锯齿形层次遍历
    102. 二叉树的层次遍历
    94. 二叉树的中序遍历
    Redis和数据库 数据同步问题
    203. 移除链表元素
    19. 删除链表的倒数第N个节点
    237. 删除链表中的节点
    141. 环形链表
    2. 两数相加
    143. 重排链表
  • 原文地址:https://www.cnblogs.com/sagech/p/5165587.html
Copyright © 2011-2022 走看看