using System.IO; using System.Net; namespace HDLCloudMonitor { public class HttpHp { #region WebRequest + WebResponse /// /// 可以带请求数据,但不带Cookie /// /// /// /// /// public static string RequestOneUrlAnswerString(string requestUrl, string requestMethod, byte[] requestData) { return RequestOneUrlAnswerString(requestUrl, requestMethod, requestData, null); } /// /// 指定一个Url,和请求方法,数据,Cookie,得到响应的数据 /// /// 请求Url /// 请求方法 /// 请求的的数据 /// Cookie字符串 /// 得到响应的数据 public static string RequestOneUrlAnswerString(string requestUrl, string requestMethod, byte[] requestData, string requestCookieStr) { ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, error) => { return true; }; HttpWebRequest httpWebRequestObj = WebRequest.CreateHttp(requestUrl); if (httpWebRequestObj != null) { #region 请求准备 httpWebRequestObj.Method = requestMethod; //get post put delete //是用来在post提交的时候写post的内容的流,GET是不能有附加内容的,他附加的内容是在URL中的 if ( (requestMethod.ToLower().Trim().Equals("post")) && (requestData != null) && (requestData.Length > 0)) { httpWebRequestObj.ContentType = "application/json"; Stream requestStream = httpWebRequestObj.GetRequestStream(); requestStream.Write(requestData, 0, requestData.Length); requestStream.Close(); } #endregion #region 得到请求的响应流并进行转化 using (HttpWebResponse httpWebResponseObj = httpWebRequestObj.GetResponse() as HttpWebResponse) { if (httpWebResponseObj == null) { return "ParameterOrEmpty"; } else { Stream ResponseStream = httpWebResponseObj.GetResponseStream(); using (StreamReader Sr = new StreamReader(ResponseStream)) { string ResponseString = Sr.ReadToEnd(); return ResponseString; } } } #endregion } else { return "ParameterOrEmpty"; } } #endregion } }