diff --git a/src/main/java/mpms/common/forward/NodeForward.java b/src/main/java/mpms/common/forward/NodeForward.java index 46cb52e92384a65bb5e166f48f27b5a7df54f02f..f8b52adb868a0499493d5ec07232ed609ab7a413 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); + } + +