zoukankan      html  css  js  c++  java
  • 获取客户端IP地址

    /**
         * 获取客户端Ip地址
         * @param request   HttpServletRequest
         * @return  ip addr
         */
        private String getRemoteIP(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();
            }
            if (ip.contains(",")) {
                List<String> moreIps = Arrays.stream(ip.split(",")).map(String::trim).collect(Collectors.toList());
                String firstReliableIp = moreIps.stream().filter(i -> !"unknown".equalsIgnoreCase(i)).findFirst().orElse(null);
                if (firstReliableIp != null) {
                    ip = firstReliableIp;
                }
            }
            return  ip;
        }
  • 相关阅读:
    时间加减天数
    时间加减秒数
    什么BOM?
    js 事件基础
    js 九九乘法
    CSS3 动画基础单词语法
    css3 3D转换 基础语法
    css3 2D 转换 基础语法
    js onchange案例
    js之冒泡排序
  • 原文地址:https://www.cnblogs.com/ms-grf/p/13469816.html
Copyright © 2011-2022 走看看