using System; using System.IO; using System.Net; using System.Text; namespace Pcb.Common { /// /// /// public class HttpUty { #region Post请求 /// /// Post请求 /// /// 访问地址 /// 提交参数 /// 返回内容 public static string RestfulPost(string strUrl, string strParameter, string token = "") { GC.Collect();//垃圾回收,回收没有正常关闭的http连接 string strResult = "";//返回结果 HttpWebRequest hwrRequest = null; HttpWebResponse hwrResponse = null; Stream stmRequest = null; try { ServicePointManager.DefaultConnectionLimit = 200;//设置最大连接数 hwrRequest = (HttpWebRequest)WebRequest.Create(strUrl); hwrRequest.Method = "POST"; if (!token.Equals("")) { hwrRequest.Headers.Add("token", token); } // hwrRequest.Headers.Add("Platform", "10"); hwrRequest.Accept = "application/json"; hwrRequest.ContentType = "application/json";//设置数据类型和长度 #region 往服务器写入数据 if (!string.IsNullOrWhiteSpace(strParameter)) { byte[] bytRequest = Encoding.UTF8.GetBytes(strParameter); hwrRequest.ContentLength = bytRequest.Length; stmRequest = hwrRequest.GetRequestStream(); stmRequest.Write(bytRequest, 0, bytRequest.Length); stmRequest.Close(); } #endregion 往服务器写入数据 hwrResponse = (HttpWebResponse)hwrRequest.GetResponse();//获取服务端返回 StreamReader smrResponse = new StreamReader(hwrResponse.GetResponseStream(), Encoding.UTF8);//获取服务端返回数据 strResult = smrResponse.ReadToEnd().Trim(); smrResponse.Close(); return strResult; } catch (System.Threading.ThreadAbortException ex) { //System.Threading.Thread.ResetAbort(); throw ex; } catch (WebException ex) { throw ex; } catch (Exception ex) { throw ex; } finally { //关闭连接和流 if (hwrResponse != null) hwrResponse.Close(); if (hwrRequest != null) hwrRequest.Abort(); } } #endregion Post请求 #region Get请求 /// /// Get请求 /// /// 请求地址 /// 返回内容 public static string RestfulGet(string strUrl, string token = "") { GC.Collect(); string strResult = ""; HttpWebRequest hwrRequest = null; HttpWebResponse hwrResponse = null; //请求strUrl以获取数据 try { //设置最大连接数 ServicePointManager.DefaultConnectionLimit = 200; /*************************************************************** * 下面设置HttpWebRequest的相关属性 * ************************************************************/ hwrRequest = (HttpWebRequest)WebRequest.Create(strUrl); hwrRequest.Method = "GET"; if (!token.Equals("")) { hwrRequest.Headers.Add("token", token); } //获取服务器返回 hwrResponse = (HttpWebResponse)hwrRequest.GetResponse(); //获取HTTP返回数据 StreamReader sr = new StreamReader(hwrResponse.GetResponseStream(), Encoding.UTF8); strResult = sr.ReadToEnd().Trim(); sr.Close(); return strResult; } catch (System.Threading.ThreadAbortException ex) { System.Threading.Thread.ResetAbort(); throw new Exception(ex.Message.ToString()); } catch (WebException wex) { throw new Exception(wex.ToString()); } catch (Exception ex) { throw ex; } finally { //关闭连接和流 if (hwrResponse != null) hwrResponse.Close(); if (hwrRequest != null) hwrRequest.Abort(); } } #endregion Get请求 } }