java post请求form表单格式发送数据,ContentType=multipart/form-data

 /**
     * post请求form表单格式发送数据
     *  multipart/form-data
     * @param url 接口地址
     * @param param 参数数组
     * @return 返回结果
     * @throws IOException
     */
    public static String sendPost(String url, Map<String, String> param) throws IOException {
        CloseableHttpClient httpclient = HttpClients.createDefault();
        String result = "";
        try {
            HttpPost httppost = new HttpPost(url);
            //构建超时等配置信息
            RequestConfig config = RequestConfig.custom().setConnectTimeout(1000) //连接超时时间
                    .setConnectionRequestTimeout(1000) //从连接池中取的连接的最长时间
                    .setSocketTimeout(10 * 1000) //数据传输的超时时间
                    .build();
            httppost.setConfig(config);
            MultipartEntityBuilder entityBuilder = MultipartEntityBuilder.create();
            ContentType strContent = ContentType.create("text/plain", Charset.forName("UTF-8"));
            //参数填充
            for (String key : param.keySet()) {
                entityBuilder.addTextBody(key, param.get(key),strContent);
            }
            HttpEntity entity = entityBuilder.build();
            httppost.setEntity(entity);
            CloseableHttpResponse response = httpclient.execute(httppost);
            try {
                HttpEntity resEntity = response.getEntity();
                //回复接收
                result = EntityUtils.toString(resEntity, "UTF-8");
            } finally {
                response.close();
            }
        } catch (Exception e) {
            logger.error(e.getMessage());
            throw e;
        } finally {
            httpclient.close();
        }
        return result;
    }

  

posted on 2021-04-01 10:17  七七2020  阅读(3874)  评论(0编辑  收藏  举报

导航