java服务器获得客户端IP地址

来源:互联网 发布:山东大学继续网络教育 编辑:程序博客网 时间:2024/04/27 18:32

服务器获得客户端IP地址


public static final String getIpAddress(HttpServletRequest request) {// 获取请求主机IP地址,如果通过代理进来,则透过防火墙获取真实IP地址String ip = request.getHeader("X-Forwarded-For");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 (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.getHeader("HTTP_CLIENT_IP");}if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("HTTP_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 = "127.0.0.1";}} else {if (ip.length() > 15) {String[] ips = ip.split(",");for (int index = 0; index < ips.length; index++) {String strIp = ips[index];if (!"unknown".equalsIgnoreCase(strIp)) {ip = strIp;break;}}}}return ip;}


0 0
原创粉丝点击