From 05181754bb1c66fa7fc66726fb26ada09afd9278 Mon Sep 17 00:00:00 2001 From: zhangdaiscott Date: Wed, 9 Aug 2023 20:45:49 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AD=BE=E5=90=8D=E5=A4=B1=E8=B4=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/jeecg/config/sign/util/HttpUtils.java | 28 +++++++++++++------ 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/HttpUtils.java b/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/HttpUtils.java index 94fe002c..1444e0a4 100644 --- a/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/HttpUtils.java +++ b/jeecg-boot-base-core/src/main/java/org/jeecg/config/sign/util/HttpUtils.java @@ -1,5 +1,12 @@ package org.jeecg.config.sign.util; +import com.alibaba.fastjson.JSONObject; +import lombok.extern.slf4j.Slf4j; +import org.jeecg.common.constant.SymbolConstant; +import org.jeecg.common.util.oConvertUtils; +import org.springframework.http.HttpMethod; + +import javax.servlet.http.HttpServletRequest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; @@ -10,15 +17,6 @@ import java.util.Map; import java.util.SortedMap; import java.util.TreeMap; -import javax.servlet.http.HttpServletRequest; - -import lombok.extern.slf4j.Slf4j; -import org.jeecg.common.constant.SymbolConstant; -import org.jeecg.common.util.oConvertUtils; -import org.springframework.http.HttpMethod; - -import com.alibaba.fastjson.JSONObject; - /** * http 工具类 获取请求中的参数 * @@ -43,6 +41,12 @@ public class HttpUtils { if (pathVariable.contains(SymbolConstant.COMMA)) { log.info(" pathVariable: {}",pathVariable); String deString = URLDecoder.decode(pathVariable, "UTF-8"); + + //https://www.52dianzi.com/category/article/37/565371.html + if(deString.contains("%")){ + deString = URLDecoder.decode(deString, "UTF-8"); + log.info("存在%情况下,执行两次解码 — pathVariable decode: {}",deString); + } log.info(" pathVariable decode: {}",deString); result.put(SignUtil.X_PATH_VARIABLE, deString); } @@ -81,6 +85,12 @@ public class HttpUtils { if (pathVariable.contains(SymbolConstant.COMMA)) { log.info(" pathVariable: {}",pathVariable); String deString = URLDecoder.decode(pathVariable, "UTF-8"); + + //https://www.52dianzi.com/category/article/37/565371.html + if(deString.contains("%")){ + deString = URLDecoder.decode(deString, "UTF-8"); + log.info("存在%情况下,执行两次解码 — pathVariable decode: {}",deString); + } log.info(" pathVariable decode: {}",deString); result.put(SignUtil.X_PATH_VARIABLE, deString); }