Java中用非JSON方式请求第三方接口

Java中用非JSON方式请求第三方接口,第1张

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;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/720488.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存