Я написал этот метод для тестирования некоторых URL-адресов с некоторыми прокси-серверами, однако, хотя я установил все известные мне свойства тайм-аута на 20 секунд, иногда для их завершения требуется от 3 до 4 минут.
private bool TestUrl(string url, WebProxy webProxy, string userAgent)
{
try
{
var request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.Timeout = 20 * 1000;
request.ReadWriteTimeout = 20 * 1000;
request.ContinueTimeout = 20 * 1000;
request.Accept = "*";
request.UserAgent = userAgent;
request.Proxy = webProxy;
using (var response = (HttpWebResponse)request.GetResponse())
{
if (response.StatusCode != HttpStatusCode.OK)
{
return false;
}
}
return true;
}
catch (Exception ex)
{
Log.Test(ex.ToString());
return false;
}
}
Iожидайте от 20 до 60 секунд, чтобы увидеть результат, но для некоторых прокси, которые я использую, требуется от 3 до 4 минут.