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

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

88读书网