|
@@ -0,0 +1,93 @@
|
|
|
|
+package com.huimv.beeboxs.dahuaVideo.util;
|
|
|
|
+
|
|
|
|
+import java.io.InputStream;
|
|
|
|
+import java.util.*;
|
|
|
|
+
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
|
+import org.apache.commons.codec.digest.DigestUtils;
|
|
|
|
+import org.apache.commons.httpclient.methods.PostMethod;
|
|
|
|
+import org.apache.commons.httpclient.methods.RequestEntity;
|
|
|
|
+import org.apache.commons.httpclient.methods.StringRequestEntity;
|
|
|
|
+import org.apache.commons.httpclient.params.HttpMethodParams;
|
|
|
|
+import org.apache.commons.httpclient.protocol.Protocol;
|
|
|
|
+import org.apache.commons.httpclient.protocol.ProtocolSocketFactory;
|
|
|
|
+import org.apache.commons.io.IOUtils;
|
|
|
|
+import org.apache.commons.httpclient.HttpClient;
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+public class HttpSend {
|
|
|
|
+
|
|
|
|
+ public static JSONObject execute(Map<String, Object> paramsMap, String method) {
|
|
|
|
+ Map<String, Object> map = paramsInit(paramsMap);
|
|
|
|
+ // 返回json
|
|
|
|
+ JSONObject jsonObj = doPost(CONST.HOST + ":" + CONST.PORT + "/openapi/" + method, map);
|
|
|
|
+ System.out.println("=============================");
|
|
|
|
+ System.out.println("返回结果:" + jsonObj.toJSONString());
|
|
|
|
+ return jsonObj;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public static JSONObject doPost(String url, Map<String, Object> map) {
|
|
|
|
+
|
|
|
|
+ String json = JSON.toJSONString(map);
|
|
|
|
+ ProtocolSocketFactory factory = new MySecureProtocolSocketFactory();
|
|
|
|
+ Protocol.registerProtocol("https", new Protocol("https", factory, 443));
|
|
|
|
+ HttpClient client = new HttpClient();
|
|
|
|
+ client.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "UTF-8");
|
|
|
|
+ PostMethod method = new PostMethod(url);
|
|
|
|
+ System.out.println(url);
|
|
|
|
+ JSONObject jsonObject = new JSONObject();
|
|
|
|
+ try {
|
|
|
|
+ RequestEntity entity = new StringRequestEntity(json, "application/json", "UTF-8");
|
|
|
|
+ method.setRequestEntity(entity);
|
|
|
|
+ client.executeMethod(method);
|
|
|
|
+
|
|
|
|
+ InputStream inputStream = method.getResponseBodyAsStream();
|
|
|
|
+ String result = IOUtils.toString(inputStream, "UTF-8");
|
|
|
|
+ jsonObject = JSONObject.parseObject(result);
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ } finally {
|
|
|
|
+ method.releaseConnection();
|
|
|
|
+ }
|
|
|
|
+ return jsonObject;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ protected static Map<String, Object> paramsInit(Map<String, Object> paramsMap) {
|
|
|
|
+ long time = System.currentTimeMillis() / 1000;
|
|
|
|
+ String nonce = UUID.randomUUID().toString();
|
|
|
|
+ String id = UUID.randomUUID().toString();
|
|
|
|
+
|
|
|
|
+ StringBuilder paramString = new StringBuilder();
|
|
|
|
+ paramString.append("time:").append(time).append(",");
|
|
|
|
+ paramString.append("nonce:").append(nonce).append(",");
|
|
|
|
+ paramString.append("appSecret:").append(CONST.SECRET);
|
|
|
|
+
|
|
|
|
+ String sign = "";
|
|
|
|
+ // 计算MD5得值
|
|
|
|
+ try {
|
|
|
|
+ System.out.println("传入参数:" + paramString.toString().trim());
|
|
|
|
+ sign = DigestUtils.md5Hex(paramString.toString().trim().getBytes("UTF-8"));
|
|
|
|
+ } catch (Exception e) {
|
|
|
|
+ e.printStackTrace();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ Map<String, Object> systemMap = new HashMap<String, Object>();
|
|
|
|
+ systemMap.put("ver", "1.0");
|
|
|
|
+ systemMap.put("sign", sign);
|
|
|
|
+ systemMap.put("appId", CONST.APPID);
|
|
|
|
+ systemMap.put("nonce", nonce);
|
|
|
|
+ systemMap.put("time", time);
|
|
|
|
+
|
|
|
|
+ Map<String, Object> map = new HashMap<String, Object>();
|
|
|
|
+ map.put("system", systemMap);
|
|
|
|
+ map.put("params", paramsMap);
|
|
|
|
+ map.put("id", id);
|
|
|
|
+ return map;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+}
|