Я очищаю сайт, который требует использования сотен / тысяч прокси для его прохождения.У меня есть список из 20 000 прокси, но многие мертвы.Когда я сталкиваюсь с мертвым прокси, я отмечаю его и повторяю, используя другой, но часто время ожидания составляет около 15 секунд для мертвого прокси.
Я попытался установить свойство Timeout
, но это только влияет на фактический HTTP-запрос ПОСЛЕ того, как он подключился к прокси-серверу.Несмотря на то, что я просмотрел десятки страниц, ни на одной из которых я не видел обработанного тайм-аута прокси, только запрос HttpClient
.
Как мне настроить запрос, который ускоряет тайм-аут прокси, чтобы я мог перейти кследующий?
foreach(var proxy in proxies){
var prox = new WebProxy($"{proxy.ip}:{proxy.port}");
var clientHandler = new HttpClientHandler { Proxy = prox, UseProxy = true };
var client = new HttpClient(clientHandler);
try{
var res = await client.GetStringAsync("http://example.com");
//success, do something
break;
}catch{
//failure, mark and try again
}
}