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;
    }
     
  • 相关阅读:
    表达式树作为条件封装多表连查
    EF之结构进一步优化
    EF之ExecuteSqlCommand更新出现无效的解决方案
    dynamic与匿名对象
    webapi 通过dynamic 接收可变参数
    EF INNER JOIN,LEFT JOIN,GROUP JOIN
    Linq join on 多条件
    Excel 行列转置 解决竖向拉,字母跟着递增的问题
    Windows7 安装vs2015 之后 调试Web项目IIS启动不了 aspnetcore.dll未能加载
    Mysql 服务在本机,需要单机调试Mysql数据库 发生 不认识hostname‘localhost’
  • 原文地址:https://www.cnblogs.com/sagech/p/5165587.html
Copyright © 2011-2022 走看看