private boolean innSendMsgByHttp(HttpEventInfo httpEvent, HostInfo hostInfo, ProcessResult procResult) {
        String rmtRptUrl = (httpConfig.isRptDataByHttps() ? SdkConsts.PREFIX_HTTPS : SdkConsts.PREFIX_HTTP)
                + hostInfo.getReferenceName()
                + SdkConsts.DATAPROXY_REPORT_METHOD;
        if (!buildFormUrlPost(rmtRptUrl, httpEvent, procResult)) {
            return false;
        }
        HttpPost httpPost = (HttpPost) procResult.getRetData();
        CloseableHttpResponse response = null;
        try {
            response = httpClient.execute(httpPost);
            String returnStr = EntityUtils.toString(response.getEntity());
            int returnCode = response.getStatusLine().getStatusCode();
            if (HttpStatus.SC_OK != returnCode) {
                if (sendMsgExptCnt.shouldPrint()) {
                    logger.warn("ClientMgr({}) report event failure, errCode={}, returnStr={}",
                            this.sender.getSenderId(), returnCode, returnStr);
                }
                if (response.getStatusLine().getStatusCode() >= 500) {
                    this.connFailNodeMap.put(hostInfo.getReferenceName(), System.currentTimeMillis());
                }
                return procResult.setFailResult(ErrorCode.RMT_RETURN_FAILURE,
                        response.getStatusLine().getStatusCode() + ":" + returnStr);
            }
            if (StringUtils.isBlank(returnStr)) {
                return procResult.setFailResult(ErrorCode.RMT_RETURN_BLANK_CONTENT);
            }
            if (logger.isDebugEnabled()) {
                logger.debug("success to report event, url={}, result={}",
                        rmtRptUrl, returnStr);
            }
            JsonObject jsonResponse = JsonParser.parseString(returnStr).getAsJsonObject();
            JsonElement codeElement = jsonResponse.get("code");
            JsonElement msgElement = jsonResponse.get("msg");
            if (codeElement != null) {
                int errCode = codeElement.getAsInt();
                if (errCode == DataProxyErrCode.SUCCESS.getErrCode()) {
                    return procResult.setSuccess();
                } else {
                    return procResult.setFailResult(ErrorCode.DP_RETURN_FAILURE,
                            errCode + ":" + (msgElement != null ? msgElement.getAsString() : ""));
                }
            }
            return procResult.setFailResult(ErrorCode.DP_RETURN_UNKNOWN_ERROR, returnStr);
        } catch (Throwable ex) {
            if (sendMsgExptCnt.shouldPrint()) {
                logger.warn("ClientMgr({}) report event exception, url={}",
                        this.sender.getSenderId(), rmtRptUrl, ex);
            }
            return procResult.setFailResult(ErrorCode.HTTP_VISIT_DP_EXCEPTION, ex.getMessage());
        } finally {
            if (httpPost != null) {
                httpPost.releaseConnection();
            }
            if (response != null) {
                try {
                    response.close();
                } catch (Throwable ex) {
                    if (sendMsgExptCnt.shouldPrint()) {
                        logger.warn("ClientMgr({}) close response exception, url={}",
                                this.sender.getSenderId(), rmtRptUrl, ex);
                    }
                }
            }
        }
    }
send request to DataProxy over http
inlong-sdk/dataproxy-sdk/src/main/java/org/apache/inlong/sdk/dataproxy/network/http/HttpClientMgr.java