获取客户端(访问者)ip地址
1 /** 2 * 获取客户端ip地址(可以穿透代理) 3 4 * @param request 5 * @return 6 */ 7 8 @RequestMapping("getRemoteAddr") 9 public String getRemoteAddr(HttpServletRequest request) { 10 String ip = request.getHeader("X-Forwarded-For"); 11 if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 12 ip = request.getHeader("Proxy-Client-IP"); 13 } 14 if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 15 ip = request.getHeader("WL-Proxy-Client-IP"); 16 } 17 if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 18 ip = request.getHeader("HTTP_CLIENT_IP"); 19 } 20 if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 21 ip = request.getHeader("HTTP_X_FORWARDED_FOR"); 22 } 23 if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { 24 ip = request.getRemoteAddr(); 25 } 26 return ip; 27 }
原创文章,转载请说明出处,谢谢合作
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律