public static HttpWebRequest GetWebRequest(HttpRequest request)
{
HttpWebRequest httpWebRequest = null;
if (request.Url.Contains("https"))
{
ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback(CheckValidationResult);
httpWebRequest = (HttpWebRequest)WebRequest.CreateDefault(new Uri(request.Url));
}
else
{
httpWebRequest = (HttpWebRequest)WebRequest.Create(request.Url);
}
httpWebRequest.ServicePoint.Expect100Continue = false;
httpWebRequest.Method = request.Method.ToString();
httpWebRequest.KeepAlive = true;
httpWebRequest.Timeout = _timeout;
if (request.Headers.ContainsKey("Accept"))
{
httpWebRequest.Accept = DictionaryUtil.Pop(request.Headers, "Accept");
}
if (request.Headers.ContainsKey("Date"))
{
httpWebRequest.Date = Convert.ToDateTime(DictionaryUtil.Pop(request.Headers, "Date"));
}
foreach (var header in request.Headers)
{
httpWebRequest.Headers.Add(header.Key, header.Value);
}
return httpWebRequest;
}