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
}
}