using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Text; using WIDESEA.Core.Utilities; using WIDESEA_Entity.CustomModels.RGVModel; namespace WIDESEA.Core.Utilities { public class HttpHelper { public static WebResponseContent GetHttpRequestData(T postData, string address) { WebResponseContent content = new WebResponseContent(); try { string tmp = JsonConvert.SerializeObject(postData); byte[] param = Encoding.UTF8.GetBytes(tmp); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address); request.Method = "POST"; request.ContentType = "application/json"; request.GetRequestStream().Write(param, 0, param.Length); using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { Stream stream = response.GetResponseStream(); StreamReader streamReader = new StreamReader(stream); string webResponse = streamReader.ReadToEnd(); content = JsonConvert.DeserializeObject(webResponse); } } catch (Exception ex) { content.Status = false; content.Message = ex.Message; } return content; } public static WebResponseContent GetHttpRequestData(string address) { WebResponseContent content = new WebResponseContent(); try { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address); request.Method = "GET"; using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { Stream stream = response.GetResponseStream(); StreamReader streamReader = new StreamReader(stream); string webResponse = streamReader.ReadToEnd(); content = JsonConvert.DeserializeObject(webResponse); } } catch (Exception ex) { content.Status = false; content.Message = ex.Message; } return content; } public static WebResponseContent PostHttpRequestDataToRGV(T postData, string address) { WebResponseContent content = new WebResponseContent(); try { string tmp = JsonConvert.SerializeObject(postData); byte[] param = Encoding.UTF8.GetBytes(tmp); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(address); request.Method = "POST"; request.ContentType = "application/json"; request.GetRequestStream().Write(param, 0, param.Length); using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { Stream stream = response.GetResponseStream(); StreamReader streamReader = new StreamReader(stream); string webResponse = streamReader.ReadToEnd(); if (address.Contains("getRgvInfos")) { RgvDeviceStatusModel rgvData = JsonConvert.DeserializeObject(webResponse); content.OK(); content.Data = rgvData; } } } catch (Exception ex) { content.Status = false; content.Message = ex.Message; } return content; } } }