|
@@ -0,0 +1,286 @@
|
|
|
+package com.iotechn.unimall.data.util;
|
|
|
+
|
|
|
+import java.io.IOException;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+
|
|
|
+import java.util.HashMap;
|
|
|
+
|
|
|
+import java.util.Iterator;
|
|
|
+
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+import java.util.Map.Entry;
|
|
|
+
|
|
|
+import java.util.Set;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+import org.apache.http.Header;
|
|
|
+
|
|
|
+import org.apache.http.HttpEntity;
|
|
|
+
|
|
|
+import org.apache.http.HttpResponse;
|
|
|
+
|
|
|
+import org.apache.http.NameValuePair;
|
|
|
+
|
|
|
+import org.apache.http.client.HttpClient;
|
|
|
+
|
|
|
+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.impl.client.CloseableHttpClient;
|
|
|
+
|
|
|
+import org.apache.http.impl.client.HttpClients;
|
|
|
+
|
|
|
+import org.apache.http.message.BasicNameValuePair;
|
|
|
+
|
|
|
+import org.apache.http.util.EntityUtils;
|
|
|
+
|
|
|
+import org.slf4j.Logger;
|
|
|
+
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+public class HttpRequestUtil {
|
|
|
+ private static final Logger log = LoggerFactory.getLogger(HttpRequestUtil.class);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public static String UTF8 = "UTF-8";
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public static String httpPost(String url, Map<String, String> params, String encoding) throws Exception {
|
|
|
+
|
|
|
+ log.debug("收到HTTP POST请求");
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ String result = "";
|
|
|
+
|
|
|
+ // 创建默认的httpClient实例.
|
|
|
+
|
|
|
+ CloseableHttpClient httpclient = HttpClients.createDefault();
|
|
|
+
|
|
|
+ // 创建httppost
|
|
|
+
|
|
|
+ HttpPost httppost = new HttpPost(url);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ //参数
|
|
|
+
|
|
|
+ List<NameValuePair> formparams = new ArrayList<NameValuePair>();
|
|
|
+
|
|
|
+ if (params != null) {
|
|
|
+
|
|
|
+ log.debug("发送post参数");
|
|
|
+
|
|
|
+ Set<String> keys = params.keySet();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ for (String key : keys) {
|
|
|
+
|
|
|
+ log.debug("param:" + key);
|
|
|
+
|
|
|
+ formparams.add(new BasicNameValuePair(key, params.get(key)));
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UrlEncodedFormEntity uefEntity;
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+ uefEntity = new UrlEncodedFormEntity(formparams, encoding);
|
|
|
+
|
|
|
+ httppost.setEntity(uefEntity);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ log.debug("executing request " + httppost.getURI());
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ CloseableHttpResponse response = httpclient.execute(httppost);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+ log.debug("返回HTTP状态:" + response.getStatusLine());
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Header[] headers = response.getAllHeaders();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ log.debug("返回HTTP头");
|
|
|
+
|
|
|
+ log.debug("--------------------------------------");
|
|
|
+
|
|
|
+ for (Header header : headers) {
|
|
|
+
|
|
|
+ log.debug(header.getName() + "-->" + header.getValue());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ log.debug("--------------------------------------");
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ HttpEntity entity = response.getEntity();
|
|
|
+
|
|
|
+ if (entity != null) {
|
|
|
+
|
|
|
+ result = EntityUtils.toString(entity, encoding);
|
|
|
+
|
|
|
+ log.debug("--------------------------------------");
|
|
|
+
|
|
|
+ log.debug("Response content: " + result);
|
|
|
+
|
|
|
+ log.debug("--------------------------------------");
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ } finally {
|
|
|
+
|
|
|
+ response.close();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (IOException e) {
|
|
|
+
|
|
|
+ throw e;
|
|
|
+
|
|
|
+ } finally {
|
|
|
+
|
|
|
+ // 关闭连接,释放资源
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+ httpclient.close();
|
|
|
+
|
|
|
+ } catch (IOException e) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ return result;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ public static String httpGet(String url, String encoding) throws Exception {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ log.debug("收到HTTP GET请求");
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ String result = "";
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ CloseableHttpClient httpclient = HttpClients.createDefault();
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+ // 创建httpget.
|
|
|
+
|
|
|
+ HttpGet httpget = new HttpGet(url);
|
|
|
+
|
|
|
+ log.debug("executing request " + httpget.getURI());
|
|
|
+
|
|
|
+ // 执行get请求.
|
|
|
+
|
|
|
+ CloseableHttpResponse response = httpclient.execute(httpget);
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ log.debug("返回HTTP状态:" + response.getStatusLine());
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ Header[] headers = response.getAllHeaders();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ log.debug("返回HTTP头");
|
|
|
+
|
|
|
+ log.debug("--------------------------------------");
|
|
|
+
|
|
|
+ for (Header header : headers) {
|
|
|
+
|
|
|
+ log.debug(header.getName() + "-->" + header.getValue());
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ log.debug("--------------------------------------"); // 获取响应实体
|
|
|
+
|
|
|
+ HttpEntity entity = response.getEntity();
|
|
|
+
|
|
|
+ if (entity != null) {
|
|
|
+
|
|
|
+ result = EntityUtils.toString(entity, encoding);
|
|
|
+
|
|
|
+ // 打印响应内容
|
|
|
+
|
|
|
+ log.debug("Response content: " + result);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ log.debug("------------------------------------");
|
|
|
+
|
|
|
+ } finally {
|
|
|
+
|
|
|
+ response.close();
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ } catch (Exception e) {
|
|
|
+
|
|
|
+ throw e;
|
|
|
+
|
|
|
+ } finally {
|
|
|
+
|
|
|
+ // 关闭连接,释放资源
|
|
|
+
|
|
|
+ try {
|
|
|
+
|
|
|
+ httpclient.close();
|
|
|
+
|
|
|
+ } catch (IOException e) {
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ return result;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ }
|
|
|
+}
|