public static classHttpRequestAction
{///
///发送http请求并返回响应///
/// 请求目标
/// 参数
/// 过期时间
/// 用户地址IP
/// 请求编码
///
/// 返回响应对象
public static HttpWebResponse CreatePostHttpResponse(string url, string parameters, int? timeout, stringuserAgent, Encoding requestEncoding, CookieCollection cookies)
{if (string.IsNullOrEmpty(url))
{throw new ArgumentNullException("url");
}if (requestEncoding == null)
{throw new ArgumentNullException("requestEncoding");
}
HttpWebRequest request= null;//如果是发送HTTPS请求
if (url.StartsWith("https", StringComparison.OrdinalIgnoreCase))
{
ServicePointManager.ServerCertificateValidationCallback= newRemoteCertificateValidationCallback(CheckValidationResult);
request= WebRequest.Create(url) asHttpWebRequest;
request.ProtocolVersion=HttpVersion.Version10;
}else{
request= WebRequest.Create(url) asHttpWebRequest;
}
request.Method= "POST";
request.ContentType= "application/json;charset=utf-8";if(timeout.HasValue)
{
request.Timeout=timeout.Value;
}if (cookies != null)
{
request.CookieContainer= newCookieContainer();
request.CookieContainer.Add(cookies);
}//如果需要POST数据
if (parameters != null)
{
StringBuilder buffer= newStringBuilder();
buffer.Append(parameters);byte[] data =requestEncoding.GetBytes(buffer.ToString());using (Stream stream =request.GetRequestStream())
{
stream.Write(data,0, data.Length);
}
}return request.GetResponse() asHttpWebResponse;
}
}