import org.apache.commons.lang3.StringUtils; import org.apache.http.Consts; import org.apache.http.HttpEntity; import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.methods.CloseableHttpResponse; import org.apache.http.client.methods.HttpGet; import org.apache.http.client.methods.HttpPost; import org.apache.http.client.methods.HttpRequestBase; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.message.BasicNameValuePair; import org.apache.http.util.EntityUtils; import java.io.IOException; import java.util.ArrayList; import java.util.List; import java.util.Map; /** * http请求封装类 * * @author ldq */ public class HttpUtils { /** * 发送get请求 * * @param url 地址 * @param params 参数map * @param cookies cookie map * @return json格式结果 */ public static String get(String url, Map<String, Object> params, Map<String, String> cookies) throws IOException { CloseableHttpClient client = HttpClients.createDefault(); // 封装参数 if (params != null && params.size() > 0) { List<BasicNameValuePair> list = new ArrayList<>(); for (Map.Entry<String, Object> entry : params.entrySet()) { list.add(new BasicNameValuePair(entry.getKey(), entry.getValue().toString())); } String param = EntityUtils.toString(new UrlEncodedFormEntity(list, Consts.UTF_8)); url = url + "?" + param; } HttpGet httpGet = new HttpGet(url); // 设置cookie setCookie(httpGet, cookies); CloseableHttpResponse httpResponse = null; try { httpResponse = client.execute(httpGet); HttpEntity entity = httpResponse.getEntity(); return EntityUtils.toString(entity); } finally { closeResource(client, httpResponse); } } /** * 发送post请求 * * @param url 地址 * @param params 参数map * @param cookies cookie map * @return json格式结果 */ public static String post(String url, Map<String, Object> params, Map<String, String> cookies) throws IOException { CloseableHttpClient client = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(url); // 封装参数 if (params != null && params.size() > 0) { List<BasicNameValuePair> list = new ArrayList<>(); for (Map.Entry<String, Object> entry : params.entrySet()) { list.add(new BasicNameValuePair(entry.getKey(), entry.getValue().toString())); } UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(list); httpPost.setEntity(formEntity); } // 设置cookie setCookie(httpPost, cookies); CloseableHttpResponse response = null; try { response = client.execute(httpPost); HttpEntity entity = response.getEntity(); return EntityUtils.toString(entity); } finally { closeResource(client, response); } } /** * 发送post json请求 * * @param url 地址 * @param params 参数json * @param cookies cookie map * @return json格式结果 */ public static String post(String url, String params, Map<String, String> cookies) throws IOException { CloseableHttpClient client = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(url); httpPost.addHeader("Content-Type", "application/json"); // 封装参数 if (StringUtils.isNotBlank(params)) { // 防止中文乱码 httpPost.setEntity(new StringEntity(params, "UTF-8")); } // 设置cookie setCookie(httpPost, cookies); CloseableHttpResponse response = null; try { response = client.execute(httpPost); HttpEntity entity = response.getEntity(); return EntityUtils.toString(entity); } finally { closeResource(client, response); } } /** * 发送post json请求 * * @param url 地址 * @param params 参数json * @param header header * @return json格式结果 */ public static String postRequest(String url, String params, Map<String, String> header) throws IOException { CloseableHttpClient client = HttpClients.createDefault(); HttpPost httpPost = new HttpPost(url); httpPost.addHeader("Content-Type", "application/json"); if (header != null) { for (Map.Entry<String, String> entry : header.entrySet()) { httpPost.addHeader(entry.getKey(), entry.getValue()); } } // 封装参数 if (StringUtils.isNotBlank(params)) { // 防止中文乱码 httpPost.setEntity(new StringEntity(params, "UTF-8")); } CloseableHttpResponse response = null; try { response = client.execute(httpPost); HttpEntity entity = response.getEntity(); return EntityUtils.toString(entity); } finally { closeResource(client, response); } } /** * 设置cookie */ private static void setCookie(HttpRequestBase httpRequestBase, Map<String, String> cookies) { // 设置cookie if (cookies != null && cookies.size() > 0) { StringBuilder cookie = new StringBuilder(); for (Map.Entry<String, String> entry : cookies.entrySet()) { cookie.append(entry.getKey()).append("=").append(entry.getValue()).append(";"); } httpRequestBase.addHeader("Cookie", cookie.toString()); } } /** * 关闭流 */ private static void closeResource(CloseableHttpClient client, CloseableHttpResponse response) throws IOException { if (response != null) { response.close(); } if (client != null) { client.close(); } } }
标签:HttpUtils,param,client,params,httpPost,import,response From: https://www.cnblogs.com/mingruifeng/p/16837495.html