From 6e9f630e4e12738d98241b684e6227e02010b6c5 Mon Sep 17 00:00:00 2001 From: Huangxiaoqiang-03 <1247017146@qq.com> Date: 星期五, 01 十一月 2024 17:30:30 +0800 Subject: [PATCH] 1 --- 代码管理/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpHelper.cs | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 55 insertions(+), 1 deletions(-) diff --git "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpHelper.cs" "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpHelper.cs" index 77224e9..da9e300 100644 --- "a/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpHelper.cs" +++ "b/\344\273\243\347\240\201\347\256\241\347\220\206/WMS/WIDESEA_WMSServer/WIDESEA_Core/Helper/HttpHelper.cs" @@ -1,9 +1,13 @@ -锘縰sing System; +锘縰sing Microsoft.Extensions.Logging; +using Newtonsoft.Json; +using System; using System.Collections.Generic; using System.Linq; +using System.Net; using System.Net.Http.Headers; using System.Text; using System.Threading.Tasks; +using WIDESEA_Core.LogHelper; namespace WIDESEA_Core.Helper { @@ -100,5 +104,55 @@ } return null; } + + 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 = 10 * 1000; + 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()); + } + + Logger.Write_Log("System/API璇锋眰", rquestName, "璇锋眰鎴愬姛", new { 璇锋眰鎶ユ枃 = parm, 鎺ユ敹鎶ユ枃 = responseContent }); + return JsonConvert.DeserializeObject<T>(responseContent); + } + catch (Exception ex) + { + Logger.Write_Log("System/API璇锋眰", rquestName, "璇锋眰寮傚父", new { 璇锋眰鎶ユ枃 = parm, 鎺ユ敹鎶ユ枃 = responseContent, 閿欒 = ex.Message }); + throw ex; + } + } } } -- Gitblit v1.9.3