From b7e6de69c922d137d42f428ba9e4762a51133b02 Mon Sep 17 00:00:00 2001 From: xyli Date: Fri, 3 Mar 2023 18:15:25 +0800 Subject: [PATCH] =?UTF-8?q?NodeForward.java=20=20=E5=A2=9E=E5=8A=A0request?= =?UTF-8?q?Json=E6=96=B9=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/mpms/common/forward/NodeForward.java | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/src/main/java/mpms/common/forward/NodeForward.java b/src/main/java/mpms/common/forward/NodeForward.java index 46cb52e..f8b52ad 100644 --- a/src/main/java/mpms/common/forward/NodeForward.java +++ b/src/main/java/mpms/common/forward/NodeForward.java @@ -158,6 +158,38 @@ public class NodeForward { return parseBody(response); } + public static JsonMessage requestJson(NodeModel nodeModel, + HttpServletRequest request, + NodeUrl nodeUrl, + JSONObject jsonData + ) { + if (jsonData == null) { + jsonData = new JSONObject(); + } + String url = nodeModel.getRealUrl(nodeUrl); + HttpRequest httpRequest = HttpUtil.createPost(url); + addUser(httpRequest, nodeModel, nodeUrl, null); + + Map params = null; + if (request != null) { + params = request.getParameterMap(); + if (XssFilter.isXSS() && params != null) { + jsonData.putAll(params); + } + } + + HttpResponse response; + try { + response = httpRequest.body(jsonData.toJSONString()) + .execute(); + } catch (Exception e) { + DefaultSystemLog.getLog().error("node [{}] connect failed...message: [{}]", nodeModel.getName(), e.getMessage()); + throw new AgentException(nodeModel.getName() + "节点异常:" + e.getMessage()); + } + return parseBody(response); + } + + -- Gitee