in aliyun-net-sdk-core/Http/HttpResponse.cs [187:251]
public static HttpWebRequest GetWebRequest(HttpRequest request)
{
var uri = new Uri(request.Url);
var httpWebRequest = (HttpWebRequest)WebRequest.Create(uri);
httpWebRequest.Proxy = request.WebProxy;
httpWebRequest.Method = request.Method.ToString();
httpWebRequest.KeepAlive = true;
httpWebRequest.Timeout = request.ConnectTimeout > 0
? request.ConnectTimeout
: DEFAULT_CONNECT_TIMEOUT_In_MilliSeconds;
httpWebRequest.ReadWriteTimeout =
request.ReadTimeout > 0 ? request.ReadTimeout : DEFAULT_READ_TIMEOUT_IN_MilliSeconds;
if (request.IgnoreCertificate)
{
httpWebRequest.ServerCertificateValidationCallback = (s, cert, chains, sslPolicyError) => true;
}
if (DictionaryUtil.Get(request.Headers, "Accept") != null)
{
httpWebRequest.Accept = DictionaryUtil.Pop(request.Headers, "Accept");
}
if (DictionaryUtil.Get(request.Headers, "Date") != null)
{
var headerDate = DictionaryUtil.Pop(request.Headers, "Date");
httpWebRequest.Date = Convert.ToDateTime(headerDate);
}
foreach (var header in request.Headers)
{
if (header.Key.Equals("Content-Length"))
{
httpWebRequest.ContentLength = long.Parse(header.Value);
continue;
}
if (header.Key.Equals("Content-Type"))
{
httpWebRequest.ContentType = header.Value;
continue;
}
if (header.Key.Equals("User-Agent"))
{
httpWebRequest.UserAgent = header.Value;
continue;
}
httpWebRequest.Headers.Add(header.Key, header.Value);
}
if ((request.Method == MethodType.POST || request.Method == MethodType.PUT) && request.Content != null)
{
using (var stream = httpWebRequest.GetRequestStream())
{
stream.Write(request.Content, 0, request.Content.Length);
}
}
return httpWebRequest;
}