using System; using System.Net; using System.Text; namespace HDL_ON.DAL.Server { public partial class HttpServerRequest { public string RequestHttpsHost = "https://developer.hdlcontrol.com/api/"; /// /// 请求服务器方法 /// /// The https. /// 请求方法. /// 请求的参数. /// 是否需要包头. ResponsePack RequestHttps(string methodType, string dataStringJson, string loginToken) { ResponsePack revertObj = new ResponsePack() { StateCode = "HDL-ON-Self:NotData" }; var webClient = new WebClient(); #region var urlHead = $"{RequestHttpsHost}"; //webClient.Headers.Add("CONTENT-TYPE", "application/json"); string url = urlHead + methodType; /* 如果不需要验证Token可以不用传入 */ if (string.IsNullOrEmpty(loginToken)) { webClient.Headers.Add("Authorization", loginToken); } byte[] bytes = null; try { bytes = webClient.UploadData(url, Encoding.UTF8.GetBytes(dataStringJson)); } catch (Exception ex) { Console.WriteLine(ex.Message); revertObj.StateCode = "HDL-ON-Self:Net_Error"; revertObj.ErrorInfo_En = "Network anomaly"; revertObj.ErrorInfo_Zh = "网络异常"; } try { if (bytes != null) { string responseString = Encoding.UTF8.GetString(bytes); if (responseString != null) { revertObj = Newtonsoft.Json.JsonConvert.DeserializeObject(responseString); } } } catch (Exception ex) { Console.WriteLine(ex.Message); } return revertObj; #endregion } } }