123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- package net.lab1024.smartadmin.util;
- import java.nio.charset.Charset;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Map;
- import java.util.Map.Entry;
- import org.apache.commons.collections.CollectionUtils;
- import org.apache.commons.lang3.StringUtils;
- import org.apache.http.HttpResponse;
- import org.apache.http.HttpStatus;
- import org.apache.http.NameValuePair;
- 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.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;
- /**
- * [ HttpUtils ]
- *
- * @author yandanyang
- * @version 1.0
- * @company 1024lab.net
- * @copyright (c) 2019 1024lab.netInc. All rights reserved.
- * @date
- * @since JDK1.8
- */
- public class SmartHttpUtil {
- public static String sendGet(String url, Map<String, Object> params, Map<String, String> header) throws Exception {
- HttpGet httpGet = null;
- String body = "";
- CloseableHttpClient httpClient = null;
- CloseableHttpResponse response = null;
- try {
- httpClient = HttpClients.createDefault();
- List<String> mapList = new ArrayList<>();
- if (params != null) {
- for (Entry<String, Object> entry : params.entrySet()) {
- mapList.add(entry.getKey() + "=" + entry.getValue());
- }
- }
- if (CollectionUtils.isNotEmpty(mapList)) {
- url = url + "?";
- String paramsStr = StringUtils.join(mapList, "&");
- url = url + paramsStr;
- }
- httpGet = new HttpGet(url);
- httpGet.setHeader("Content-type", "application/json; charset=utf-8");
- httpGet.setHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
- if (header != null) {
- for (Entry<String, String> entry : header.entrySet()) {
- httpGet.setHeader(entry.getKey(), entry.getValue());
- }
- }
- response = httpClient.execute(httpGet);
- int statusCode = response.getStatusLine().getStatusCode();
- if (statusCode != HttpStatus.SC_OK) {
- throw new RuntimeException("请求失败");
- } else {
- body = EntityUtils.toString(response.getEntity(), "UTF-8");
- }
- } catch (Exception e) {
- throw e;
- } finally {
- if (httpGet != null) {
- httpGet.releaseConnection();
- }
- if (response != null) {
- response.close();
- }
- }
- return body;
- }
- public static String sendPostJson(String url, String json, Map<String, String> header) throws Exception {
- HttpPost httpPost = null;
- String body = "";
- try {
- CloseableHttpClient httpClient = HttpClients.createDefault();
- httpPost = new HttpPost(url);
- httpPost.setHeader("Content-type", "application/json; charset=utf-8");
- httpPost.setHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
- if (header != null) {
- for (Entry<String, String> entry : header.entrySet()) {
- httpPost.setHeader(entry.getKey(), entry.getValue());
- }
- }
- StringEntity entity = new StringEntity(json, Charset.forName("UTF-8"));
- entity.setContentEncoding("UTF-8");
- entity.setContentType("application/json");
- httpPost.setEntity(entity);
- HttpResponse response = httpClient.execute(httpPost);
- int statusCode = response.getStatusLine().getStatusCode();
- if (statusCode != HttpStatus.SC_OK) {
- throw new RuntimeException("请求失败");
- } else {
- body = EntityUtils.toString(response.getEntity(), "UTF-8");
- }
- } catch (Exception e) {
- throw e;
- } finally {
- if (httpPost != null) {
- httpPost.releaseConnection();
- }
- }
- return body;
- }
- public static String sendPostForm(String url, Map<String, String> params, Map<String, String> header) throws Exception {
- HttpPost httpPost = null;
- String body = "";
- try {
- CloseableHttpClient httpClient = HttpClients.createDefault();
- httpPost = new HttpPost(url);
- httpPost.setHeader("Content-type", "application/x-www-form-urlencoded");
- httpPost.setHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 5.0; Windows NT; DigExt)");
- if (header != null) {
- for (Entry<String, String> entry : header.entrySet()) {
- httpPost.setHeader(entry.getKey(), entry.getValue());
- }
- }
- List<NameValuePair> nvps = new ArrayList<>();
- if (params != null) {
- for (Entry<String, String> entry : params.entrySet()) {
- nvps.add(new BasicNameValuePair(entry.getKey(), entry.getValue()));
- }
- }
- //设置参数到请求对象中
- httpPost.setEntity(new UrlEncodedFormEntity(nvps, "UTF-8"));
- HttpResponse response = httpClient.execute(httpPost);
- int statusCode = response.getStatusLine().getStatusCode();
- if (statusCode != HttpStatus.SC_OK) {
- throw new RuntimeException("请求失败");
- } else {
- body = EntityUtils.toString(response.getEntity(), "UTF-8");
- }
- } catch (Exception e) {
- throw e;
- } finally {
- if (httpPost != null) {
- httpPost.releaseConnection();
- }
- }
- return body;
- }
- }
|