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