private boolean buildFormUrlPost(
            String rmtRptUrl, HttpEventInfo httpEvent, ProcessResult procResult) {
        ArrayList<BasicNameValuePair> contents = new ArrayList<>();
        try {
            HttpPost httpPost = new HttpPost(rmtRptUrl);
            httpPost.setHeader(HttpHeaders.CONNECTION,
                    HttpHeaderValues.CLOSE.toString());
            httpPost.setHeader(HttpHeaders.CONTENT_TYPE,
                    HttpHeaderValues.APPLICATION_X_WWW_FORM_URLENCODED.toString());
            contents.add(new BasicNameValuePair(AttributeConstants.GROUP_ID,
                    httpEvent.getGroupId()));
            contents.add(new BasicNameValuePair(AttributeConstants.STREAM_ID,
                    httpEvent.getStreamId()));
            contents.add(new BasicNameValuePair(AttributeConstants.DATA_TIME,
                    String.valueOf(httpEvent.getDtMs())));
            contents.add(new BasicNameValuePair(SdkConsts.KEY_HTTP_FIELD_BODY,
                    StringUtils.join(httpEvent.getBodyList(), httpConfig.getHttpEventsSeparator())));
            contents.add(new BasicNameValuePair(AttributeConstants.MESSAGE_COUNT,
                    String.valueOf(httpEvent.getMsgCnt())));
            if (!httpConfig.isSepEventByLF()) {
                contents.add(new BasicNameValuePair(SdkConsts.KEY_HTTP_FIELD_DELIMITER,
                        httpConfig.getHttpEventsSeparator()));
            }
            String encodedContents = URLEncodedUtils.format(contents, StandardCharsets.UTF_8);
            httpPost.setEntity(new StringEntity(encodedContents));
            if (logger.isDebugEnabled()) {
                logger.debug("begin to post request to {}, encoded content is: {}",
                        rmtRptUrl, encodedContents);
            }
            return procResult.setSuccess(httpPost);
        } catch (Throwable ex) {
            if (sendMsgExptCnt.shouldPrint()) {
                logger.warn("ClientMgr({}) build form-url content failure, content={}",
                        this.sender.getSenderId(), contents, ex);
            }
            return procResult.setFailResult(ErrorCode.BUILD_FORM_CONTENT_EXCEPTION, ex.getMessage());
        }
    }
send request to DataProxy over http
inlong-sdk/dataproxy-sdk/src/main/java/org/apache/inlong/sdk/dataproxy/network/http/HttpClientMgr.java