From 747b3fe698762e58c886696c20fcbcb81adb354e Mon Sep 17 00:00:00 2001 From: srzou Date: Sun, 3 Nov 2024 10:07:53 +0800 Subject: [PATCH] =?UTF-8?q?fix(sj=5F1.2.0-beta3):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=B5=81=E7=BC=96=E6=8E=92=E4=B8=8B=E7=9A=84?= =?UTF-8?q?http=E5=86=85=E7=BD=AE=E6=89=A7=E8=A1=8C=E5=99=A8=E5=9C=A8?= =?UTF-8?q?=E8=AF=B7=E6=B1=82=E5=A4=B4=E4=B8=AD=E9=80=8F=E4=BC=A0=E4=B8=8A?= =?UTF-8?q?=E4=B8=8B=E6=96=87=E4=B8=ADvalue=E5=8C=85=E5=90=AB=E4=B8=AD?= =?UTF-8?q?=E6=96=87=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../client/job/core/executor/AbstractHttpExecutor.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/executor/AbstractHttpExecutor.java b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/executor/AbstractHttpExecutor.java index ca5309f6d..fd496d71c 100644 --- a/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/executor/AbstractHttpExecutor.java +++ b/snail-job-client/snail-job-client-job-core/src/main/java/com/aizuda/snailjob/client/job/core/executor/AbstractHttpExecutor.java @@ -11,9 +11,10 @@ import com.aizuda.snailjob.common.log.SnailJobLog; import lombok.Data; import org.springframework.util.StringUtils; -import java.util.Iterator; +import java.util.Base64; import java.util.Map; import java.util.Objects; +import java.util.regex.Pattern; public abstract class AbstractHttpExecutor { @@ -27,6 +28,7 @@ public abstract class AbstractHttpExecutor { private static final String HTTP = "http"; private static final String HTTP_PREFIX = "http://"; private static final int HTTP_SUCCESS_CODE = 200; + private static final Pattern pattern = Pattern.compile("[\\u4e00-\\u9fa5]"); public ExecuteResult process(HttpParams httpParams) { if (httpParams == null) { @@ -123,6 +125,11 @@ public abstract class AbstractHttpExecutor { if ( Objects.nonNull(httpParams.getWfContext())) { httpParams.getWfContext().forEach((key, value) -> { String headerValue = (value instanceof String) ? (String) value : JsonUtil.toJsonString(value); + // 正则表达式匹配中文字符 + if (pattern.matcher(headerValue).find()) { + // 如果包含中文字符,则进行Base64编码 + headerValue = Base64.getEncoder().encodeToString(headerValue.getBytes()); + } request.header(key, headerValue); }); }