服务器IP:
String addr = InetAddress.getLocalHost().getHostAddress();
说明:很明显上面是没考虑到服务器有多个iP的情况。
客户顿啊IP:
/** * 获取IP * * @param request HttpServletRequest * @return IP字符串 */ public static String getRemoteHost(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 "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : ip; }
本文介绍了一种在Java中获取客户端IP地址的方法,通过检查HTTP请求头部的不同字段来确定真实的客户端IP,适用于代理服务器和NAT环境。文章提供了一个实用的公共函数getRemoteHost,能够有效处理多种情况下的IP获取。
1913

被折叠的 条评论
为什么被折叠?



