Springboot通過HttpServletRequest獲取用戶真實ip

 Springboot通過HttpServletRequest獲取用戶真實ip

public String getVisitorIp(HttpServletRequest request){
            // 優先取 X-Real-IP
            String ip = request.getHeader("X-Real-IP");
            if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
                ip = request.getHeader("x-forwarded-for");
            }
            if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)){
                ip = request.getRemoteAddr();
                if ("0:0:0:0:0:0:0:1".equals(ip))
                {
                    ip = "unknown";
                }
            }
            if ("unknown".equalsIgnoreCase(ip)){
                ip = "unknown";
                return ip;
            }
            int index = ip.indexOf(',');
            if (index >= 0){
                ip = ip.substring(0, index);
            }
            return ip;
    }

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章