优化 URL 参数拼接

This commit is contained in:
Charles7c 2023-10-17 14:47:52 +08:00
parent 8c8326a155
commit 905eca3a98

View File

@ -1,12 +1,16 @@
package org.dromara.sms4j.comm.utils;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.URLUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import org.dromara.sms4j.comm.exception.SmsBlendException;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
import java.util.Map;
public class SmsHttpUtils {
@ -24,6 +28,7 @@ public class SmsHttpUtils {
/**
* 发送post json请求
*
* @param url 请求地址
* @param headers 请求头
* @param body 请求体(json格式字符串)
@ -42,6 +47,7 @@ public class SmsHttpUtils {
/**
* 发送post json请求
*
* @param url 请求地址
* @param headers 请求头
* @param body 请求体(map格式请求体)
@ -53,6 +59,7 @@ public class SmsHttpUtils {
/**
* 发送post form 请求
*
* @param url 请求地址
* @param headers 请求头
* @param body 请求体(map格式请求体)
@ -72,20 +79,15 @@ public class SmsHttpUtils {
/**
* 发送post url 参数拼装url传输
*
* @param url 请求地址
* @param headers 请求头
* @param params 请求参数
* @return 返回体
*/
public JSONObject postUrl(String url, Map<String, String> headers, Map<String, Object> params) {
StringBuilder urlWithParams = new StringBuilder(url);
urlWithParams.append("?");
for (Map.Entry<String, Object> entry : params.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
urlWithParams.append(key).append("=").append(value).append("&");
}
try(HttpResponse response = HttpRequest.post(urlWithParams.toString())
String urlWithParams = url + "?" + URLUtil.buildQuery(params, null);
try (HttpResponse response = HttpRequest.post(urlWithParams)
.addHeaders(headers)
.execute()) {
return JSONUtil.parseObj(response.body());
@ -96,6 +98,7 @@ public class SmsHttpUtils {
/**
* 线程睡眠
*
* @param retryInterval
*/
public void safeSleep(int retryInterval) {