using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net; using System.Text; namespace CommonHelper { public static class HttpHelper { /// /// Get获取数据 /// /// /// /// public static bool GetData(string getUrl, ref string resultData) { Encoding encoding = Encoding.UTF8; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(getUrl); request.Method = "GET"; using (HttpWebResponse myResponse = (HttpWebResponse)request.GetResponse()) { using (StreamReader sr = new StreamReader(myResponse.GetResponseStream(), encoding)) { resultData = sr.ReadToEnd(); } } return true; } /// /// Post提交数据 /// /// Url /// 提交数据 /// 结果数据 /// public static bool PostData(string postUrl, string postData, ref string resultData) { return PostData(postUrl, postData, "application/json;charset=utf-8", null, ref resultData); } /// /// Post提交数据 /// /// Url /// 提交数据 /// HTTP标头键值对 /// 结果数据 /// public static bool PostData(string postUrl, string postData, Dictionary headers, ref string resultData) { return PostData(postUrl, postData, "application/json;charset=utf-8", headers, ref resultData); } /// /// Post提交数据 /// /// Url /// 提交数据 /// Content-type HTTP 标头的值 /// 结果数据 /// public static bool PostData(string postUrl, string postData, string contentType, ref string resultData) { return PostData(postUrl, postData, contentType, null, ref resultData); } /// /// Post提交数据 /// /// Url /// 提交数据 /// Content-type HTTP 标头的值 /// HTTP标头键值对 /// 结果数据 /// public static bool PostData(string postUrl, string postData, string contentType, Dictionary headers, ref string resultData) { Encoding encoding = Encoding.UTF8; byte[] dataByte = encoding.GetBytes(postData); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(postUrl); request.Method = "POST"; request.ContentType = contentType; request.ContentLength = dataByte.Length; if (headers != null) { foreach (var obj in headers) { request.Headers.Add(obj.Key, obj.Value); } } using (Stream reqStream = request.GetRequestStream()) { reqStream.Write(dataByte, 0, dataByte.Length); } using (HttpWebResponse myResponse = (HttpWebResponse)request.GetResponse()) { using (StreamReader sr = new StreamReader(myResponse.GetResponseStream(), encoding)) { resultData = sr.ReadToEnd(); } } return true; } } }