栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java中用非JSON方式请求第三方接口(form/data方式)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java中用非JSON方式请求第三方接口(form/data方式)

public static String post(String url, HashMap textMap) {
    CloseableHttpClient httpClient = HttpClientBuilder.create().build();
    CloseableHttpResponse httpResponse = null;
    RequestConfig requestConfig = RequestConfig.custom().setConnectTimeout(200000).setSocketTimeout(200000000)
            .build();
    HttpPost httpPost = new HttpPost(url);
    httpPost.setConfig(requestConfig);
    ContentType contentType = ContentType.create("multipart/form-data",Charset.forName("UTF-8"));
    MultipartEntityBuilder multipartEntityBuilder = MultipartEntityBuilder.create();

    multipartEntityBuilder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
    multipartEntityBuilder.setCharset(Charset.forName("UTF-8"));

    for (String str : textMap.keySet()) {
        try {
            System.out.println(str+"--->"+textMap.get(str).toString());
            multipartEntityBuilder.addTextBody(str, textMap.get(str).toString(), contentType);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    HttpEntity httpEntity = multipartEntityBuilder.build();
    httpPost.setEntity(httpEntity);
    try {
        httpResponse = httpClient.execute(httpPost);
    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
    HttpEntity responseEntity = httpResponse.getEntity();
    int statusCode = httpResponse.getStatusLine().getStatusCode();
    String resultStr = null;
    if (statusCode == 200) {
        BufferedReader reader = null;
        InputStreamReader isr = null;
        try {
            isr = new InputStreamReader(responseEntity.getContent(), "utf-8");
            reader = new BufferedReader(isr);
            StringBuffer buffer = new StringBuffer();
            String str = "";
            while ((str = reader.readLine()) != null) {
                buffer.append(str);
            }
            resultStr = buffer.toString();
        } catch (UnsupportedOperationException e1) {
            e1.printStackTrace();
        } catch (IOException e1) {
            e1.printStackTrace();
        } finally {
            try {
                if (reader != null) {
                    reader.close();
                }
                if (isr != null) {
                    isr.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    if (httpResponse != null) {
        try {
            httpClient.close();
            httpResponse.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return resultStr;
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/826579.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号