Java Post请求工具类,非常实用,建议收藏

核心代码:
import JAVA.util.Map;import java.util.List;import java.util.Iterator;import java.util.ArrayList;import java.io.IOException;import java.io.InputStream;import java.nio.charset.Charset;import java.io.ByteArrayOutputStream;import org.Apache.http.HttpEntity;import org.apache.http.HttpHeaders;import org.apache.http.HttpResponse;import org.apache.http.util.EntityUtils;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.HttpClients;import org.apache.http.client.methods.HttpPost;import org.apache.http.message.BasicNameValuePair;import org.apache.http.client.methods.HttpUriRequest;import org.apache.http.impl.client.HttpClientBuilder;import org.apache.http.impl.client.CloseableHttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.CloseableHttpResponse;/** * Post请求工具类 */public class PostUtil {public static final String UTF8 = "utf-8";private static final String CONTENT_TYPE = "Application/json";public static String send(String url, Map<String, String> headers, Object params) {try {if (params instanceof Map)return sendMap(url, headers, (Map<String, Object>)params);elsereturn sendJson(url, headers, (String)params);} catch (Exception e){return null;}}public static String sendMap(String url, Map<String, String> headers, Map<String, Object> params) throws IOException {List<BasicNameValuePair> pairs = new ArrayList<>();for (Iterator<String> iterator = params.keySet().iterator(); iterator.hasNext();) {String name = iterator.next();Object value = https://www.isolves.com/it/cxkf/yy/JAVA/2022-07-12/params.get(name);pairs.add(new BasicNameValuePair(name, String.valueOf(value)));}UrlEncodedFormEntity entity = new UrlEncodedFormEntity(pairs, UTF8);return doAction(url, headers, entity);}public static String sendJson(String url, Map headers, String params) throws IOException {StringEntity entity = new StringEntity(params, UTF8);return doAction(url, headers, entity);}private static String doAction(String url, Map headers, StringEntity body) throws IOException {HttpPost post = new HttpPost(url);post.setEntity(body);for (String key : headers.keySet())post.addHeader(key, headers.get(key));CloseableHttpClient client = HttpClients.createDefault();CloseableHttpResponse response = client.execute(post);HttpEntity entity = response.getEntity();String result = null;if (entity != null)result = EntityUtils.toString(entity, UTF8);response.close();return result;}/*** 发送 POST JSON 请求*/public static String postJson(String url, String data) {HttpClientBuilder builder = HttpClientBuilder.create();HttpUriRequest request = null;// POST请求HttpEntity entity = new StringEntity(data, UTF8);HttpPost post = new HttpPost(url);post.setEntity(entity);request = post;request.setHeader(HttpHeaders.CONTENT_TYPE, CONTENT_TYPE);try (CloseableHttpClient closeableHttpClient = builder.build()) {HttpResponse resp = closeableHttpClient.execute(request);InputStream respIs = resp.getEntity().getContent();byte[] respBytes = toByteArray(respIs);String result = new String(respBytes, Charset.forName(UTF8));return result;} catch (Exception e) {e.printStackTrace();}return null;}private static byte[] toByteArray(InputStream is) throws IOException {ByteArrayOutputStream output = new ByteArrayOutputStream();try {byte[] b = new byte[4096];boolean var3 = false;int n;while ((n = is.read(b)) != -1) {output.write(b, 0, n);}byte[] var4 = output.toByteArray();return var4;} finally {output.close();}}} 

路漫漫其修远兮,吾将上下而求索
译文:在追寻真理方面,前方的道路还很漫长,但我将百折不挠,不遗余力地去追求和探索 。
 


    推荐阅读