From 1d42efe4cbd6b1028a28ff7f3ef2b3d721051c2f Mon Sep 17 00:00:00 2001 From: kongdeqiang <123456> Date: 星期四, 26 九月 2024 13:58:24 +0800 Subject: [PATCH] fix : 新增修改车数日志 --- src/main/java/com/boying/util/IpUtil.java | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 111 insertions(+), 0 deletions(-) diff --git a/src/main/java/com/boying/util/IpUtil.java b/src/main/java/com/boying/util/IpUtil.java new file mode 100644 index 0000000..64c56c9 --- /dev/null +++ b/src/main/java/com/boying/util/IpUtil.java @@ -0,0 +1,111 @@ +package com.boying.util; + +import javax.servlet.http.HttpServletRequest; +import java.net.InetAddress; +import java.net.UnknownHostException; + +public class IpUtil { + public static String getIpAddr1(HttpServletRequest request) { + String ipAddress = null; + try { + ipAddress = request.getHeader("x-forwarded-for"); + if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) { + ipAddress = request.getHeader("Proxy-Client-IP"); + } + if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) { + ipAddress = request.getHeader("WL-Proxy-Client-IP"); + } + if (ipAddress == null || ipAddress.length() == 0 || "unknown".equalsIgnoreCase(ipAddress)) { + ipAddress = request.getRemoteAddr(); + if (ipAddress.equals("127.0.0.1")) { + // 鏍规嵁缃戝崱鍙栨湰鏈洪厤缃殑IP + InetAddress inet = null; + try { + inet = InetAddress.getLocalHost(); + } catch (UnknownHostException e) { + e.printStackTrace(); + } + ipAddress = inet.getHostAddress(); + } + } + // 瀵逛簬閫氳繃澶氫釜浠g悊鐨勬儏鍐碉紝绗竴涓狪P涓哄鎴风鐪熷疄IP,澶氫釜IP鎸夌収','鍒嗗壊 + if (ipAddress != null && ipAddress.length() > 15) { // "***.***.***.***".length() + // = 15 + if (ipAddress.indexOf(",") > 0) { + ipAddress = ipAddress.substring(0, ipAddress.indexOf(",")); + } + } + } catch (Exception e) { + ipAddress = ""; + } + // ipAddress = this.getRequest().getRemoteAddr(); + + return "0:0:0:0:0:0:0:1".equals(ipAddress) ? "127.0.0.1" : ipAddress; + } + + /** + * 鑾峰彇鐪熷疄ip鍦板潃,涓嶈繑鍥炲唴缃戝湴鍧� + * + * @param request + * @return + */ + public static String getIpAddr2(HttpServletRequest request) { + //鐩墠鍒欐槸缃戝叧ip + String ip = request.getHeader("X-Real-IP"); + if (ip != null && !"".equals(ip) && !"unknown".equalsIgnoreCase(ip)) { + return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : ip; + } + ip = request.getHeader("X-Forwarded-For"); + if (ip != null && !"".equals(ip) && !"unknown".equalsIgnoreCase(ip)) { + int index = ip.indexOf(','); + if (index != -1) { + //鍙幏鍙栫涓�涓�� + return ip.substring(0, index); + } else { + return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : ip; + } + } else { + //鍙栦笉鍒扮湡瀹瀒p鍒欒繑鍥炵┖锛屼笉鑳借繑鍥炲唴缃戝湴鍧�銆� + return ""; + } + } + + + //鍏朵腑ip鐨勮幏鍙栨柟寮� + public static String getIpAddr(HttpServletRequest request) { + + String ip = request.getHeader("x-forwarded-for"); + + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("X-Real-IP"); + //LOGGER.error("X-Real-IP:"+ip); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("http_client_ip"); +// LOGGER.error("http_client_ip:"+ip); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getRemoteAddr(); +// LOGGER.error("getRemoteAddr:"+ip); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("Proxy-Client-IP"); +// LOGGER.error("Proxy-Client-IP:"+ip); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("WL-Proxy-Client-IP"); +// LOGGER.error("WL-Proxy-Client-IP:"+ip); + } + if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { + ip = request.getHeader("HTTP_X_FORWARDED_FOR"); +// LOGGER.error("HTTP_X_FORWARDED_FOR:"+ip); + } +// 濡傛灉鏄绾т唬鐞嗭紝閭d箞鍙栫涓�涓猧p涓哄鎴穒p + if (ip != null && ip.indexOf(",") != -1) { + ip = ip.substring(ip.lastIndexOf(",") + 1, ip.length()).trim(); +// LOGGER.error("ip:"+ip); + } + return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : ip; + } + +} -- Gitblit v1.9.1