using System.Text; using System.Net; using System.IO; using System; using System.Net.Http; using System.Net.Http.Headers; namespace Epost.Common { #region HttP /// /// HttP /// public class HttpHelper { private static object lockobj = new object(); #region 模拟Http Post请求-电子标签 /// /// 模拟Http Post请求 /// /// /// /// public static string HttpPost(string Url, string postDataStr = "") { try { HttpClient httpClient = new HttpClient(); HttpContent httpContent = new StringContent(postDataStr); httpContent.Headers.ContentType = new MediaTypeHeaderValue("application/json"); var events = httpClient.PostAsync(Url, httpContent).Result; // var result = events.Content.ReadAsStringAsync().Result; httpClient.Dispose(); httpContent.Dispose(); events.Dispose(); return events.StatusCode.ToString(); } catch (Exception ex) { LogHelper.WriteLogInfo("post请求:" + ex.Message); return "Fail"; } } #endregion #region 模拟Http Post请求 /// /// 模拟Http Post请求 /// /// /// /// public string HttpPost_Old(string Url, string postDataStr = "") { try { ServicePointManager.Expect100Continue = false; byte[] byteArray = Encoding.UTF8.GetBytes(postDataStr); CookieContainer cookie = new CookieContainer(); HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url); request.Method = "POST"; // request.ContentType = "application/x-www-form-urlencoded"; request.ContentType = "application/json"; request.ContentLength = byteArray.Length; request.CookieContainer = cookie; Stream myRequestStream = request.GetRequestStream(); myRequestStream.Write(byteArray, 0, byteArray.Length); myRequestStream.Close(); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); response.Cookies = cookie.GetCookies(response.ResponseUri); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); string retString = myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close(); return retString; } catch (Exception e) { LogHelper.WriteLogInfo("post失败" + e.Message); return "Fail"; } } #endregion #region 模拟Http Get请求 /// /// 模拟Http Get请求 /// /// /// /// public static string HttpGet(string Url, string postDataStr) { HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url + (postDataStr == "" ? "" : "?") + postDataStr); request.Method = "GET"; request.ContentType = "text/html;charset=UTF-8"; HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Stream myResponseStream = response.GetResponseStream(); StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8")); string retString = myStreamReader.ReadToEnd(); myStreamReader.Close(); myResponseStream.Close(); return retString; } #endregion /// /// HTTP GET方式请求数据. /// /// URL. /// public static string HttpGet(string url) { HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(url); request.Method = "GET"; request.ContentType = "application/json"; request.Accept = "*/*"; request.Timeout = 15000; request.AllowAutoRedirect = false; WebResponse response = null; string responseStr = null; try { response = request.GetResponse(); if (response != null) { StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8); responseStr = reader.ReadToEnd(); reader.Close(); } } catch (Exception) { throw; } finally { request = null; response = null; } return responseStr; } } #endregion }