iailab-framework/iailab-common/src/main/java/com/iailab/framework/common/util/http/HttpUtils.java
@@ -5,13 +5,21 @@ import cn.hutool.core.net.url.UrlBuilder; import cn.hutool.core.util.ReflectUtil; import cn.hutool.core.util.StrUtil; import org.springframework.util.CollectionUtils; import org.springframework.util.StringUtils; import org.springframework.web.util.UriComponents; import org.springframework.web.util.UriComponentsBuilder; import javax.servlet.http.HttpServletRequest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.URI; import java.net.URL; import java.net.URLConnection; import java.nio.charset.Charset; import java.util.List; import java.util.Map; /** @@ -122,5 +130,223 @@ return null; } /** * 向指定URL发送GET方法的请求 * * @param url 发送请求的URL * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 * @return URL 所代表远程资源的响应结果 */ public static String sendGet(String url, String param) { String result = ""; BufferedReader in = null; try { String urlNameString = url + "?" + param; URL realUrl = new URL(urlNameString); // 打开和URL之间的连接 URLConnection connection = realUrl.openConnection(); // 设置通用的请求属性 connection.setRequestProperty("accept", "*/*"); connection.setRequestProperty("connection", "Keep-Alive"); connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 建立实际的连接 connection.connect(); // 获取所有响应头字段 Map<String, List<String>> map = connection.getHeaderFields(); // 遍历所有的响应头字段 for (String key : map.keySet()) { System.out.println(key + "--->" + map.get(key)); } // 定义 BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送GET请求出现异常!" + e); e.printStackTrace(); } // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } public static String sendGet(String url, Map<String, String> params, String authorization) { String result = ""; BufferedReader in = null; try { StringBuilder sb = new StringBuilder(); sb.append(url); if (!CollectionUtils.isEmpty(params)) { sb.append("?"); params.forEach((k, v) -> { sb.append(k + "=" + v + "&"); }); sb.append("t=" + System.currentTimeMillis()); } String urlNameString = sb.toString(); URL realUrl = new URL(urlNameString); // 打开和URL之间的连接 URLConnection connection = realUrl.openConnection(); // 设置通用的请求属性 connection.setRequestProperty("Authorization", authorization); connection.setRequestProperty("accept", "*/*"); connection.setRequestProperty("connection", "Keep-Alive"); connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 建立实际的连接 connection.connect(); // 获取所有响应头字段 Map<String, List<String>> map = connection.getHeaderFields(); // 遍历所有的响应头字段 for (String key : map.keySet()) { System.out.println(key + "--->" + map.get(key)); } // 定义 BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送GET请求出现异常!" + e); e.printStackTrace(); } // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } /** * 向指定 URL 发送POST方法的请求 * * @param url * @param json * @return */ public static String sendPost(String url, String json) { PrintWriter out = null; BufferedReader in = null; String result = ""; try { URL realUrl = new URL(url); // 打开和URL之间的连接 URLConnection conn = realUrl.openConnection(); // 设置通用的请求属性 conn.setRequestProperty("content-type", "application/json"); conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 发送POST请求必须设置如下两行 conn.setDoOutput(true); conn.setDoInput(true); // 获取URLConnection对象对应的输出流 out = new PrintWriter(conn.getOutputStream()); // 发送请求参数 out.print(json); // flush输出流的缓冲 out.flush(); // 定义BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送 POST 请求出现异常!" + e); e.printStackTrace(); } //使用finally块来关闭输出流、输入流 finally { try { if (out != null) { out.close(); } if (in != null) { in.close(); } } catch (IOException ex) { ex.printStackTrace(); } } return result; } /** * 向指定 URL 发送POST方法的请求 * * @param url * @param json * @param authorization * @return */ public static String sendPost(String url, String json, String authorization) { PrintWriter out = null; BufferedReader in = null; String result = ""; try { URL realUrl = new URL(url); // 打开和URL之间的连接 URLConnection conn = realUrl.openConnection(); // 设置通用的请求属性 conn.setRequestProperty("Authorization", authorization); conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 发送POST请求必须设置如下两行 conn.setDoOutput(true); conn.setDoInput(true); // 获取URLConnection对象对应的输出流 out = new PrintWriter(conn.getOutputStream()); // 发送请求参数 out.print(json); // flush输出流的缓冲 out.flush(); // 定义BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送 POST 请求出现异常!" + e); e.printStackTrace(); } //使用finally块来关闭输出流、输入流 finally { try { if (out != null) { out.close(); } if (in != null) { in.close(); } } catch (IOException ex) { ex.printStackTrace(); } } return result; } } iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/http/collector/ihdb/HttpCollectorForIhd.java
@@ -5,6 +5,7 @@ import com.alibaba.fastjson.JSONObject; import com.google.gson.Gson; import com.iailab.framework.common.constant.CommonConstant; import com.iailab.framework.common.util.http.HttpUtils; import com.iailab.module.data.channel.http.entity.HttpApiEntity; import com.iailab.module.data.channel.http.service.HttpApiService; import com.iailab.module.data.common.enums.DataSourceType; @@ -108,7 +109,7 @@ tagSb.append(jsonString); tagSb.append("]"); String currentDate = DateUtils.format(new Date(), pattern); String responseStr = HttpRequest.sendPost(httpApi.getUrl() + "/" + currentDate, tagSb.toString()); String responseStr = HttpUtils.sendPost(httpApi.getUrl() + "/" + currentDate, tagSb.toString()); JSONObject responseObj = JSON.parseObject(responseStr); if (STA_TRUE.equals(responseObj.get(IS_SUCCESS).toString())) { JSONArray tagValueList = responseObj.getJSONArray("data"); @@ -150,7 +151,7 @@ log.info("body=====" + tagSb); String currentDate = DateUtils.format(new Date(), pattern); String responseStr = ""; responseStr = HttpRequest.sendPost(httpApi.getUrl().replace("getPointdatasAvg", "getPointslast") + "/" + currentDate, tagSb); responseStr = HttpUtils.sendPost(httpApi.getUrl().replace("getPointdatasAvg", "getPointslast") + "/" + currentDate, tagSb); JSONObject responseObj = JSON.parseObject(responseStr); if (STA_TRUE.equals(responseObj.get(IS_SUCCESS).toString())) { JSONArray tagValueList = responseObj.getJSONArray("data"); @@ -279,7 +280,7 @@ tagSb.append("]"); log.info("body=====" + tagSb); String currentDate = DateUtils.format(collectTime, pattern); String responseStr = HttpRequest.sendPost(url + "/" + currentDate, tagSb.toString()); String responseStr = HttpUtils.sendPost(url + "/" + currentDate, tagSb.toString()); JSONObject responseObj = JSON.parseObject(responseStr); log.info("responseObj=====" + responseObj.toJSONString()); if (STA_TRUE.equals(responseObj.get(IS_SUCCESS).toString())) { @@ -311,7 +312,7 @@ tagSb.append("]"); log.info("body=====" + tagSb); String currentDate = DateUtils.format(collectTime, pattern); String responseStr = HttpRequest.sendPost(url + "/" + currentDate, tagSb.toString()); String responseStr = HttpUtils.sendPost(url + "/" + currentDate, tagSb.toString()); JSONObject responseObj = JSON.parseObject(responseStr); log.info("responseObj=====" + responseObj.toJSONString()); if (STA_TRUE.equals(responseObj.get(IS_SUCCESS).toString())) { iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/channel/kio/collector/KingIOClient.java
@@ -3,7 +3,7 @@ import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.iailab.module.data.common.utils.HttpRequest; import com.iailab.framework.common.util.http.HttpUtils; import com.iailab.module.data.channel.kio.dto.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -85,7 +85,7 @@ form.put("username", username); form.put("password", password); this.logint_time = System.currentTimeMillis(); String responseStr = HttpRequest.sendPost(this.url + "/login", JSON.toJSONString(form)); String responseStr = HttpUtils.sendPost(this.url + "/login", JSON.toJSONString(form)); JSONObject responseObj = JSON.parseObject(responseStr); if (S_CODE != Integer.parseInt(responseObj.get(R_CODE).toString())) { bLogin = false; @@ -119,7 +119,7 @@ return bConnect; } Map<String, String> map = new HashMap<>(); String responseStr = HttpRequest.sendPost(this.url + "/heartbeat", "", this.authorization); String responseStr = HttpUtils.sendPost(this.url + "/heartbeat", "", this.authorization); JSONObject responseObj = JSON.parseObject(responseStr); if (S_CODE != Integer.parseInt(responseObj.get(R_CODE).toString())) { bConnect = false; @@ -139,7 +139,7 @@ Map<String, String> map = new HashMap<>(); map.put("projectInstanceName", this.instanceName); map.put("TagName", tagName); String responseStr = HttpRequest.sendGet(this.url + "/realvalue", map, this.authorization); String responseStr = HttpUtils.sendGet(this.url + "/realvalue", map, this.authorization); JSONObject responseObj = JSON.parseObject(responseStr); if (S_CODE != Integer.parseInt(responseObj.get(R_CODE).toString())) { return null; @@ -159,7 +159,7 @@ objs.add(dto); }); queryDto.setObjs(objs); String responseStr = HttpRequest.sendPost(this.url + "/batchrealvalue", JSONObject.toJSONString(queryDto), this.authorization); String responseStr = HttpUtils.sendPost(this.url + "/batchrealvalue", JSONObject.toJSONString(queryDto), this.authorization); JSONObject responseObj = JSON.parseObject(responseStr); if (S_CODE != Integer.parseInt(responseObj.get(R_CODE).toString())) { return null; @@ -184,7 +184,7 @@ objs.add(writeDTO); writeObj.setObjs(objs); String writeStr = JSONObject.toJSONString(writeObj); String responseStr = HttpRequest.sendPost(this.url + "/realvariables", writeStr, this.authorization); String responseStr = HttpUtils.sendPost(this.url + "/realvariables", writeStr, this.authorization); JSONObject responseObj = JSON.parseObject(responseStr); if (S_CODE != Integer.parseInt(responseObj.get(R_CODE).toString())) { throw new Exception(responseObj.getString(R_MSG)); @@ -200,7 +200,7 @@ writeDTO.setV(newValue); objs.add(writeDTO); writeObj.setObjs(objs); String responseStr = HttpRequest.sendPost(this.url + "/realvariables", JSONObject.toJSONString(writeObj), this.authorization); String responseStr = HttpUtils.sendPost(this.url + "/realvariables", JSONObject.toJSONString(writeObj), this.authorization); JSONObject responseObj = JSON.parseObject(responseStr); if (S_CODE != Integer.parseInt(responseObj.get(R_CODE).toString())) { throw new Exception(responseObj.getString(R_MSG)); @@ -215,7 +215,7 @@ writeDTO.setV(newValue); objs.add(writeDTO); writeObj.setObjs(objs); String responseStr = HttpRequest.sendPost(this.url + "/realvariables", JSONObject.toJSONString(writeObj), this.authorization); String responseStr = HttpUtils.sendPost(this.url + "/realvariables", JSONObject.toJSONString(writeObj), this.authorization); JSONObject responseObj = JSON.parseObject(responseStr); if (S_CODE != Integer.parseInt(responseObj.get(R_CODE).toString())) { throw new Exception(responseObj.getString(R_MSG)); iailab-module-data/iailab-module-data-biz/src/main/java/com/iailab/module/data/common/utils/HttpRequest.java
@@ -22,223 +22,6 @@ * @date 2021年06月03日 15:31 */ public class HttpRequest { /** * 向指定URL发送GET方法的请求 * * @param url 发送请求的URL * @param param 请求参数,请求参数应该是 name1=value1&name2=value2 的形式。 * @return URL 所代表远程资源的响应结果 */ public static String sendGet(String url, String param) { String result = ""; BufferedReader in = null; try { String urlNameString = url + "?" + param; URL realUrl = new URL(urlNameString); // 打开和URL之间的连接 URLConnection connection = realUrl.openConnection(); // 设置通用的请求属性 connection.setRequestProperty("accept", "*/*"); connection.setRequestProperty("connection", "Keep-Alive"); connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 建立实际的连接 connection.connect(); // 获取所有响应头字段 Map<String, List<String>> map = connection.getHeaderFields(); // 遍历所有的响应头字段 for (String key : map.keySet()) { System.out.println(key + "--->" + map.get(key)); } // 定义 BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送GET请求出现异常!" + e); e.printStackTrace(); } // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } public static String sendGet(String url, Map<String, String> params, String authorization) { String result = ""; BufferedReader in = null; try { StringBuilder sb = new StringBuilder(); sb.append(url); if (!CollectionUtils.isEmpty(params)) { sb.append("?"); params.forEach((k, v) -> { sb.append(k + "=" + v + "&"); }); sb.append("t=" + System.currentTimeMillis()); } String urlNameString = sb.toString(); URL realUrl = new URL(urlNameString); // 打开和URL之间的连接 URLConnection connection = realUrl.openConnection(); // 设置通用的请求属性 connection.setRequestProperty("Authorization", authorization); connection.setRequestProperty("accept", "*/*"); connection.setRequestProperty("connection", "Keep-Alive"); connection.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 建立实际的连接 connection.connect(); // 获取所有响应头字段 Map<String, List<String>> map = connection.getHeaderFields(); // 遍历所有的响应头字段 for (String key : map.keySet()) { System.out.println(key + "--->" + map.get(key)); } // 定义 BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader(connection.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送GET请求出现异常!" + e); e.printStackTrace(); } // 使用finally块来关闭输入流 finally { try { if (in != null) { in.close(); } } catch (Exception e2) { e2.printStackTrace(); } } return result; } /** * 向指定 URL 发送POST方法的请求 * * @param url * @param json * @return */ public static String sendPost(String url, String json) { PrintWriter out = null; BufferedReader in = null; String result = ""; try { URL realUrl = new URL(url); // 打开和URL之间的连接 URLConnection conn = realUrl.openConnection(); // 设置通用的请求属性 conn.setRequestProperty("content-type", "application/json"); conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 发送POST请求必须设置如下两行 conn.setDoOutput(true); conn.setDoInput(true); // 获取URLConnection对象对应的输出流 out = new PrintWriter(conn.getOutputStream()); // 发送请求参数 out.print(json); // flush输出流的缓冲 out.flush(); // 定义BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送 POST 请求出现异常!" + e); e.printStackTrace(); } //使用finally块来关闭输出流、输入流 finally { try { if (out != null) { out.close(); } if (in != null) { in.close(); } } catch (IOException ex) { ex.printStackTrace(); } } return result; } /** * 向指定 URL 发送POST方法的请求 * * @param url * @param json * @param authorization * @return */ public static String sendPost(String url, String json, String authorization) { PrintWriter out = null; BufferedReader in = null; String result = ""; try { URL realUrl = new URL(url); // 打开和URL之间的连接 URLConnection conn = realUrl.openConnection(); // 设置通用的请求属性 conn.setRequestProperty("Authorization", authorization); conn.setRequestProperty("accept", "*/*"); conn.setRequestProperty("connection", "Keep-Alive"); conn.setRequestProperty("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1;SV1)"); // 发送POST请求必须设置如下两行 conn.setDoOutput(true); conn.setDoInput(true); // 获取URLConnection对象对应的输出流 out = new PrintWriter(conn.getOutputStream()); // 发送请求参数 out.print(json); // flush输出流的缓冲 out.flush(); // 定义BufferedReader输入流来读取URL的响应 in = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line; while ((line = in.readLine()) != null) { result += line; } } catch (Exception e) { System.out.println("发送 POST 请求出现异常!" + e); e.printStackTrace(); } //使用finally块来关闭输出流、输入流 finally { try { if (out != null) { out.close(); } if (in != null) { in.close(); } } catch (IOException ex) { ex.printStackTrace(); } } return result; } /** *