private HttpClient CreateHttpClient(NameValueCollection customHeaders = null)
{
HttpClient client = new HttpClient(Encoding)
{
Accept = Accept,
AcceptEncoding = AcceptEncoding,
AcceptLanguage = AcceptLanguage,
NumberOfAttempts = NumberOfAttempts,
UserAgent = UserAgent,
Referer = Referer,
Timeout = Timeout
};
if (customHeaders != null)
{
if (customHeaders.AllKeys.Contains("Accept"))
{
client.Accept = customHeaders["Accept"];
customHeaders.Remove("Accept");
}
if (customHeaders.AllKeys.Contains("Accept-Encoding"))
{
client.AcceptEncoding = customHeaders["Accept-Encoding"];
customHeaders.Remove("Accept-Encoding");
}
if (customHeaders.AllKeys.Contains("Accept-Language"))
{
client.AcceptLanguage = customHeaders["Accept-Language"];
customHeaders.Remove("Accept-Language");
}
if (customHeaders.AllKeys.Contains("User-Agent"))
{
client.UserAgent = customHeaders["User-Agente"];
customHeaders.Remove("User-Agent");
}
if (customHeaders.AllKeys.Contains("Referer"))
{
client.Referer = customHeaders["Referer"];
customHeaders.Remove("Referer");
}
client.CustomHeaders = customHeaders;
}
return client;
}
private static IEnumerable<Proxy> ParseProxies(IEnumerable<string> proxies)