|
|
@@ -1,54 +0,0 @@
|
|
|
-package com.nb.common.util;
|
|
|
-
|
|
|
-import cn.hutool.core.util.StrUtil;
|
|
|
-import cn.hutool.extra.servlet.ServletUtil;
|
|
|
-
|
|
|
-import javax.servlet.http.HttpServletRequest;
|
|
|
-
|
|
|
-/**
|
|
|
- * IP获取工具
|
|
|
- *
|
|
|
- * @author Kevin
|
|
|
- */
|
|
|
-public class IpUtil {
|
|
|
-
|
|
|
- public static String getClientIp(HttpServletRequest request) {
|
|
|
-// // natapp穿透工具搭建的环境,通过header,X-Natapp-Ip,获取
|
|
|
-// String ipAddress = ServletUtil.getClientIPByHeader(request, "X-Natapp-Ip");
|
|
|
-// if (StrUtil.isBlank(ipAddress)) {
|
|
|
-// ipAddress = ServletUtil.getClientIP(request);
|
|
|
-// }
|
|
|
-// // 本地开发,客户端和服务器在同一台机器,获取到是0:0:0:0:0:0:0:1,ip6地址,需要进行转换
|
|
|
-// ipAddress = "0:0:0:0:0:0:0:1".equals(ipAddress) ? "127.0.0.1" : ipAddress;
|
|
|
- return getIpAddress(request);
|
|
|
- }
|
|
|
-
|
|
|
- public static String getIpAddress(HttpServletRequest request) {
|
|
|
-
|
|
|
- String sourceIp = null;
|
|
|
-
|
|
|
- String ipAddresses = request.getHeader("x-forwarded-for");
|
|
|
-
|
|
|
- if (ipAddresses == null || ipAddresses.length() == 0 || "unknown".equalsIgnoreCase(ipAddresses)) {
|
|
|
- ipAddresses = request.getHeader("Proxy-Client-IP");
|
|
|
- }
|
|
|
- if (ipAddresses == null || ipAddresses.length() == 0 || "unknown".equalsIgnoreCase(ipAddresses)) {
|
|
|
- ipAddresses = request.getHeader("WL-Proxy-Client-IP");
|
|
|
- }
|
|
|
- if (ipAddresses == null || ipAddresses.length() == 0 || "unknown".equalsIgnoreCase(ipAddresses)) {
|
|
|
- ipAddresses = request.getHeader("HTTP_CLIENT_IP");
|
|
|
- }
|
|
|
- if (ipAddresses == null || ipAddresses.length() == 0 || "unknown".equalsIgnoreCase(ipAddresses)) {
|
|
|
- ipAddresses = request.getHeader("HTTP_X_FORWARDED_FOR");
|
|
|
- }
|
|
|
- if (ipAddresses == null || ipAddresses.length() == 0 || "unknown".equalsIgnoreCase(ipAddresses)) {
|
|
|
- ipAddresses = request.getRemoteAddr();
|
|
|
- }
|
|
|
- if (!StrUtil.isEmpty(ipAddresses)) {
|
|
|
- sourceIp = ipAddresses.split(",")[0];
|
|
|
- }
|
|
|
-
|
|
|
- return sourceIp;
|
|
|
- }
|
|
|
-
|
|
|
-}
|