|
@ -1,5 +1,9 @@ |
|
|
package com.tduck.cloud.api.util; |
|
|
package com.tduck.cloud.api.util; |
|
|
|
|
|
|
|
|
|
|
|
import cn.hutool.core.lang.PatternPool; |
|
|
|
|
|
import cn.hutool.core.lang.Validator; |
|
|
|
|
|
import cn.hutool.core.util.ArrayUtil; |
|
|
|
|
|
import cn.hutool.core.util.CharUtil; |
|
|
import cn.hutool.core.util.StrUtil; |
|
|
import cn.hutool.core.util.StrUtil; |
|
|
import com.tduck.cloud.api.web.wrapper.BodyReaderHttpServletRequestWrapper; |
|
|
import com.tduck.cloud.api.web.wrapper.BodyReaderHttpServletRequestWrapper; |
|
|
import com.tduck.cloud.common.util.JsonUtils; |
|
|
import com.tduck.cloud.common.util.JsonUtils; |
|
@ -10,6 +14,7 @@ import org.springframework.http.MediaType; |
|
|
|
|
|
|
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
import javax.servlet.http.HttpServletRequest; |
|
|
import java.util.*; |
|
|
import java.util.*; |
|
|
|
|
|
import java.util.regex.Pattern; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* http 工具类 获取请求中的参数 |
|
|
* http 工具类 获取请求中的参数 |
|
@ -18,6 +23,7 @@ import java.util.*; |
|
|
* @date 14:23 2019/5/29 |
|
|
* @date 14:23 2019/5/29 |
|
|
*/ |
|
|
*/ |
|
|
public class HttpUtils { |
|
|
public class HttpUtils { |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
* 将URL的参数和body参数合并 |
|
|
* 将URL的参数和body参数合并 |
|
|
* |
|
|
* |
|
@ -113,7 +119,15 @@ public class HttpUtils { |
|
|
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { |
|
|
if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { |
|
|
ip = request.getRemoteAddr(); |
|
|
ip = request.getRemoteAddr(); |
|
|
} |
|
|
} |
|
|
|
|
|
//"***.***.***.***".length() = 15
|
|
|
|
|
|
if (StrUtil.isNotBlank(ip) && ip.length() > 15) { |
|
|
|
|
|
if (ip.indexOf(CharUtil.COMMA) > 0) { |
|
|
|
|
|
ip = ip.substring(0, ip.indexOf(",")); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
//处理获取多个ip地址情况 nginx多层代理会出现多个ip 第一个为真实ip地址
|
|
|
return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : ip; |
|
|
return "0:0:0:0:0:0:0:1".equals(ip) ? "127.0.0.1" : ip; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|