From e3df9bada6b0403e983f428044ca048db4494865 Mon Sep 17 00:00:00 2001 From: pppscn <35696959@qq.com> Date: Sat, 29 Jun 2024 16:27:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=9A=E9=80=9A=E8=BF=87`C?= =?UTF-8?q?ontent-Type=3Dapplicaton/json`=E6=8C=87=E5=AE=9A=E8=AF=B7?= =?UTF-8?q?=E6=B1=82=E4=BD=93=E4=B8=BA`json`=E6=A0=BC=E5=BC=8F=20#491?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../idormy/sms/forwarder/utils/sender/WebhookUtils.kt | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/idormy/sms/forwarder/utils/sender/WebhookUtils.kt b/app/src/main/java/com/idormy/sms/forwarder/utils/sender/WebhookUtils.kt index 2e8030b7..c66496c2 100644 --- a/app/src/main/java/com/idormy/sms/forwarder/utils/sender/WebhookUtils.kt +++ b/app/src/main/java/com/idormy/sms/forwarder/utils/sender/WebhookUtils.kt @@ -91,6 +91,15 @@ class WebhookUtils { Log.i(TAG, "requestUrl:$requestUrl") } + //通过`Content-Type=applicaton/json`指定请求体为`json`格式 + var isJson = false + for ((key, value) in setting.headers.entries) { + if (key.equals("Content-Type", ignoreCase = true) && value.contains("application/json")) { + isJson = true + break + } + } + val request = if (setting.method == "GET" && TextUtils.isEmpty(webParams)) { setting.webServer += (if (setting.webServer.contains("?")) "&" else "?") + "from=" + URLEncoder.encode( from, @@ -128,7 +137,7 @@ class WebhookUtils { } Log.d(TAG, "method = GET, Url = $requestUrl") XHttp.get(requestUrl).keepJson(true) - } else if (webParams.isNotEmpty() && webParams.startsWith("{")) { + } else if (webParams.isNotEmpty() && (isJson || webParams.startsWith("{"))) { val bodyMsg = webParams.replace("[from]", from) .replace("[content]", escapeJson(content)) .replace("[msg]", escapeJson(content))