From c020f31a67fc5aa5644511bddff075f7ecc85234 Mon Sep 17 00:00:00 2001
From: qinchulong <qinchulong@hnkhzn.com>
Date: 星期二, 27 五月 2025 15:35:27 +0800
Subject: [PATCH] Merge branch 'master' of http://115.159.85.185:8098/r/HuaYiZhongHeng/ZhongHeLiTiKu

---
 代码管理/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Http/HttpHelpers.cs |  198 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 198 insertions(+), 0 deletions(-)

diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Http/HttpHelpers.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Http/HttpHelpers.cs"
new file mode 100644
index 0000000..caabe50
--- /dev/null
+++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WCS/WIDESEAWCS_Server/WIDESEAWCS_Common/Http/HttpHelpers.cs"
@@ -0,0 +1,198 @@
+锘�
+using Newtonsoft.Json;
+using System.Net;
+using System.Text;
+using WIDESEA_Common.Log;
+
+namespace WIDESEA_Comm.Http
+{
+    public class HttpHelpers
+    {
+        private const int Timeout = 10 * 1000;
+
+        /// <summary>
+        /// post璇锋眰
+        /// </summary>
+        /// <param name="url"></param>
+        /// <param name="parm">鍙傛暟</param>
+        /// <param name="rquestName">鎺ュ彛鍚嶇О,鐢ㄤ簬鏃ュ織鍒嗙被</param>
+        /// <returns></returns>
+        public static string Post(string url, object parm, string rquestName = "")
+        {
+            HttpWebResponse response = null;
+            StreamReader resultReader = null;
+            string responseContent = string.Empty;
+            try
+            {
+                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
+                request.Timeout = Timeout;
+                request.Method = "POST";
+                request.ContentType = "application/json; charset=UTF-8";
+                parm = parm ?? "";
+                byte[] data = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(parm));
+                request.ContentLength = data.Length;
+                using (Stream newStream = request.GetRequestStream())
+                {
+                    newStream.Write(data, 0, data.Length);
+                };
+
+                response = (HttpWebResponse)request.GetResponse();
+                Stream webStream = response.GetResponseStream();
+                if (webStream == null)
+                {
+                    throw new Exception("Network error");
+                }
+
+                int statsCode = (int)response.StatusCode;
+                resultReader = new StreamReader(webStream, Encoding.UTF8);
+                responseContent = resultReader.ReadToEnd();
+
+                if (response != null)
+                    response.Close();
+                if (resultReader != null)
+                    resultReader.Close();
+
+                if (statsCode != 200)
+                {
+                    throw new Exception("寮傚父锛屽搷搴旂爜锛�" + statsCode.ToString());
+                }
+
+                //WriteLog.Write_Log("System/API璇锋眰", rquestName, "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃 = parm, 鎺ユ敹鎶ユ枃 = responseContent });
+                return responseContent;
+            }
+            catch (Exception ex)
+            {
+                WriteLog.Write_Log("API", rquestName, "璇锋眰寮傚父", new { 璇锋眰鎶ユ枃 = parm, 鎺ユ敹鎶ユ枃 = responseContent, 閿欒 = ex.Message });
+                throw ex;
+            }
+        }
+
+        /// <summary>
+        /// post璇锋眰
+        /// </summary>
+        /// <param name="url"></param>
+        /// <param name="parm">鍙傛暟</param>
+        /// <param name="rquestName">鎺ュ彛鍚嶇О,鐢ㄤ簬鏃ュ織鍒嗙被</param>
+        /// <returns></returns>
+        public static T Post<T>(string url, object parm, string rquestName = "") where T : class
+        {
+            HttpWebResponse response = null;
+            StreamReader resultReader = null;
+            string responseContent = string.Empty;
+            try
+            {
+                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
+                request.Timeout = Timeout;
+                request.Method = "POST";
+                request.ContentType = "application/json; charset=UTF-8";
+                parm = parm ?? "";
+                byte[] data = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(parm));
+                request.ContentLength = data.Length;
+                using (Stream newStream = request.GetRequestStream())
+                {
+                    newStream.Write(data, 0, data.Length);
+                };
+
+                response = (HttpWebResponse)request.GetResponse();
+                Stream webStream = response.GetResponseStream();
+                if (webStream == null)
+                {
+                    throw new Exception("Network error");
+                }
+
+                int statsCode = (int)response.StatusCode;
+                resultReader = new StreamReader(webStream, Encoding.UTF8);
+                responseContent = resultReader.ReadToEnd();
+
+                if (response != null)
+                    response.Close();
+                if (resultReader != null)
+                    resultReader.Close();
+
+                if (statsCode != 200)
+                {
+                    throw new Exception("寮傚父锛屽搷搴旂爜锛�" + statsCode.ToString());
+                }
+
+                //WriteLog.Write_Log("System/API璇锋眰", rquestName, "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃 = parm, 鎺ユ敹鎶ユ枃 = responseContent });
+                return JsonConvert.DeserializeObject<T>(responseContent);
+            }
+            catch (Exception ex)
+            {
+                WriteLog.Write_Log("API", rquestName, "璇锋眰寮傚父", new { 璇锋眰鎶ユ枃 = parm, 鎺ユ敹鎶ユ枃 = responseContent, 閿欒 = ex.Message });
+                throw ex;
+            }
+        }
+
+
+        /// <summary>
+        /// get璇锋眰
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="url"></param>
+        /// <param name="parm">璇锋眰鍙傛暟锛屾坊鍔犲湪url</param>
+        /// <param name="rquestName"></param>
+        /// <returns></returns>
+        public static T Get<T>(string url, object parm = null, string rquestName = "") where T : class
+        {
+            HttpWebResponse response = null;
+            StreamReader resultReader = null;
+            string responseContent = string.Empty;
+            try
+            {
+                if (parm != null)
+                {
+                    var datas = JsonConvert.DeserializeObject<Dictionary<string, string>>(JsonConvert.SerializeObject(parm));
+                    var keyList = datas.Keys;
+                    int index = 0;
+                    foreach (var key in datas.Keys)
+                    {
+                        if (index == 0)
+                        {
+                            url += $"?{key}={datas[key]}";
+                        }
+                        else
+                        {
+                            url += $"&{key}={datas[key]}";
+                        }
+                        index++;
+                    }
+                }
+                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
+                request.Timeout = Timeout;
+                request.Method = "GET";
+                request.ContentType = "application/json; charset=UTF-8";
+
+                response = (HttpWebResponse)request.GetResponse();
+                Stream webStream = response.GetResponseStream();
+                if (webStream == null)
+                {
+                    throw new Exception("Network error");
+                }
+
+                int statsCode = (int)response.StatusCode;
+                resultReader = new StreamReader(webStream, Encoding.UTF8);
+                responseContent = resultReader.ReadToEnd();
+
+                if (response != null)
+                    response.Close();
+                if (resultReader != null)
+                    resultReader.Close();
+
+                if (statsCode != 200)
+                {
+                    throw new Exception("寮傚父锛屽搷搴旂爜锛�" + statsCode.ToString());
+                }
+
+                WriteLog.Write_Log("API", rquestName, "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃 = parm, 鎺ユ敹鎶ユ枃 = responseContent });
+                return JsonConvert.DeserializeObject<T>(responseContent);
+            }
+            catch (Exception ex)
+            {
+                WriteLog.Write_Log("API", rquestName, "璇锋眰寮傚父", new { 璇锋眰鎶ユ枃 = parm, 鎺ユ敹鎶ユ枃 = responseContent, 閿欒 = ex.Message });
+                throw ex;
+            }
+        }
+
+    }
+}

--
Gitblit v1.9.3