From aa93e512a60379c6373d10023f49dae4403b51c4 Mon Sep 17 00:00:00 2001 From: zhaowenxuan <chacca165@163.com> Date: 星期五, 21 二月 2025 17:55:09 +0800 Subject: [PATCH] 金堆成同步字典服务 --- src/main/java/com/example/utils/HttpClientUtils.java | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 50 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/example/utils/HttpClientUtils.java b/src/main/java/com/example/utils/HttpClientUtils.java index e18e472..6cb36c2 100644 --- a/src/main/java/com/example/utils/HttpClientUtils.java +++ b/src/main/java/com/example/utils/HttpClientUtils.java @@ -97,7 +97,54 @@ } - public static String sendPost(String httpUrl, Map<String, Object> maps) { + public static String sendPost(String httpUrl, Map<String, Object> maps,Map<String ,Object> headers) { + + try { + // 1. 鍒涘缓 URL 瀵硅薄 + URL url = new URL(httpUrl); + // 2. 鍒涘缓 HttpURLConnection 瀵硅薄 + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + // 3. 璁剧疆璇锋眰鏂规硶涓� POST + connection.setRequestMethod("POST"); + // 4. 璁剧疆 Content-Type 澶撮儴瀛楁 + connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); + if (headers != null && !headers.isEmpty()){ + for (Map.Entry<String, Object> entry : headers.entrySet()) { + connection.setRequestProperty(entry.getKey(), entry.getValue().toString()); + } + } + // 6. 鍚戞湇鍔″櫒鍙戦�佹暟鎹� + String requestBody = JSONUtil.toJsonStr(maps); + log.info(httpUrl+"鍏ュ弬: "+requestBody); + log.info("璇锋眰澶� ->{}",JSONUtil.toJsonStr(headers)); +// String requestBody1 = maps.toString(); + byte[] postData = requestBody.getBytes(StandardCharsets.UTF_8); + connection.setDoOutput(true); + try (OutputStream outputStream = connection.getOutputStream()) { + outputStream.write(postData); + } + + // 8. 鑾峰彇鍝嶅簲鏁版嵁 + try (BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(), StandardCharsets.UTF_8))) { + String line; + StringBuilder response = new StringBuilder(); + while ((line = reader.readLine()) != null) { + response.append(line); + } + log.info("====================================================="); + log.info(httpUrl+"鍑哄弬"); + log.info(response.toString()); + connection.disconnect(); + return response.toString(); + } + } catch (IOException e) { + e.printStackTrace(); + } + + return null; + } + + public static String sendPost(String httpUrl, String json) { try { // 1. 鍒涘缓 URL 瀵硅薄 @@ -109,10 +156,10 @@ // 4. 璁剧疆 Content-Type 澶撮儴瀛楁 connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8"); // 6. 鍚戞湇鍔″櫒鍙戦�佹暟鎹� - String requestBody = JSONUtil.toJsonStr(maps); + String requestBody = json; log.info(httpUrl+"鍏ュ弬: "+requestBody); // String requestBody1 = maps.toString(); - byte[] postData = requestBody.getBytes("UTF-8"); + byte[] postData = requestBody.getBytes(StandardCharsets.UTF_8); connection.setDoOutput(true); try (OutputStream outputStream = connection.getOutputStream()) { outputStream.write(postData); -- Gitblit v1.8.0