using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; namespace NXWMS.Code.Net { /// /// Http请求帮助类 /// public class HttpRequestHelper { /// /// 票据 /// public string _Ticket { get; set;} /// /// Get请求返回响应 /// /// /// /// public string GET(string url, string parms) { url = url + parms; HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; request.Method = "GET"; HttpWebResponse res; try { res = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { res = (HttpWebResponse)ex.Response; } StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.UTF8); string content = sr.ReadToEnd(); return content; } /// /// Post请求返回响应 /// /// /// /// /// public string POST(string url, string pramstr = null, Dictionary param = null) { HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest; CookieContainer cookieContainer = new CookieContainer(); request.CookieContainer = cookieContainer; request.AllowAutoRedirect = true; request.MaximumResponseHeadersLength = 1024; request.Method = "POST"; //请求方式为post request.AllowAutoRedirect = true; request.MaximumResponseHeadersLength = 1024; request.ContentType = "application/json"; if (!string.IsNullOrWhiteSpace(_Ticket)) { request.Headers.Add("Authorization", "Bearer " + _Ticket); } JObject json = new JObject(); string jsonstring = string.Empty; if (param != null) { if (param.Count != 0) { foreach (var item in param) { json.Add(item.Key, item.Value); } } jsonstring = json.ToString(); } else if (!string.IsNullOrWhiteSpace(pramstr)) { jsonstring = pramstr; } else { jsonstring = ""; } byte[] jsonbyte = Encoding.UTF8.GetBytes(jsonstring); Stream postStream = request.GetRequestStream(); postStream.Write(jsonbyte, 0, jsonbyte.Length); postStream.Close(); HttpWebResponse res; try { res = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { res = (HttpWebResponse)ex.Response; } StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.UTF8); string content = sr.ReadToEnd(); return content; } /// /// Post数据流 /// /// /// /// /// public string POSTStream(string url, byte[] arrAy, string parms) { HttpWebResponse res; try { Encoding encode = System.Text.Encoding.GetEncoding("utf-8"); byte[] arrB = arrAy; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url); request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = arrB.Length; Stream outStream = request.GetRequestStream(); outStream.Write(arrB, 0, arrB.Length); outStream.Close(); res = (HttpWebResponse)request.GetResponse(); } catch (WebException ex) { res = (HttpWebResponse)ex.Response; } StreamReader sr = new StreamReader(res.GetResponseStream(), Encoding.UTF8); string content = sr.ReadToEnd(); return content; } } }