Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Требуется выполнить следующее задание:
Требуется выполнить запрос на сайт через прокси-сервер.Если в течение 5000 миллисекунд не будет получен ответ, то моментально прервать соединение и вызвать метод MT()
Имеется следующий код:
private async void GetPageSource(Proxy proxy)
{
ProxyClient socksProxy = null;
switch (proxy.Type)
{
case Enums.ProxyType.HTTP:
socksProxy = new HttpProxyClient(proxy.IP, proxy.PORT); break;
case Enums.ProxyType.SOCKS4:
socksProxy = new Socks4ProxyClient(proxy.IP, proxy.PORT); break;
case Enums.ProxyType.SOCKS5:
socksProxy = new Socks5ProxyClient(proxy.IP, proxy.PORT); break;
}
ProxyHandler handler = new ProxyHandler(socksProxy);
HttpClient client = new HttpClient(handler);
client.Timeout = new TimeSpan(0, 0, 0, 0, 5000);
client.DefaultRequestHeaders.TryAddWithoutValidation(@"user-agent", @"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/52.15.25.664 Chrome/52.0.2743.82 Safari/537.36");
client.DefaultRequestHeaders.TryAddWithoutValidation("id", "f215zg36b214uja");
client.DefaultRequestHeaders.TryAddWithoutValidation("dxn", "1");
client.DefaultRequestHeaders.TryAddWithoutValidation("dnt", "1");
string content = null;
Stopwatch SW = new Stopwatch();
try
{
SW.Start();
content = await client.GetStringAsync("
}
catch (OperationCanceledException Ex)
{
Console.WriteLine(Ex.Message);
}
SW.Stop();
LogWrite(new string('#', 25));
LogWrite(content);
LogWrite(new string('#', 25));
LogWrite("Elapsed time: " + SW.ElapsedMilliseconds);
Console.WriteLine("Done!");
}
Задача отменяется, но завершение происходит слишком долго. Как же решить эту задачу?
Буду вам чрезвычайно благодарен за скорейшее решение вопроса.
Требуется выполнить запрос на сайт через прокси-сервер.Если в течение 5000 миллисекунд не будет получен ответ, то моментально прервать соединение и вызвать метод MT()
Имеется следующий код:
private async void GetPageSource(Proxy proxy)
{
ProxyClient socksProxy = null;
switch (proxy.Type)
{
case Enums.ProxyType.HTTP:
socksProxy = new HttpProxyClient(proxy.IP, proxy.PORT); break;
case Enums.ProxyType.SOCKS4:
socksProxy = new Socks4ProxyClient(proxy.IP, proxy.PORT); break;
case Enums.ProxyType.SOCKS5:
socksProxy = new Socks5ProxyClient(proxy.IP, proxy.PORT); break;
}
ProxyHandler handler = new ProxyHandler(socksProxy);
HttpClient client = new HttpClient(handler);
client.Timeout = new TimeSpan(0, 0, 0, 0, 5000);
client.DefaultRequestHeaders.TryAddWithoutValidation(@"user-agent", @"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Dragon/52.15.25.664 Chrome/52.0.2743.82 Safari/537.36");
client.DefaultRequestHeaders.TryAddWithoutValidation("id", "f215zg36b214uja");
client.DefaultRequestHeaders.TryAddWithoutValidation("dxn", "1");
client.DefaultRequestHeaders.TryAddWithoutValidation("dnt", "1");
string content = null;
Stopwatch SW = new Stopwatch();
try
{
SW.Start();
content = await client.GetStringAsync("
Пожалуйста,
Вход
или
Регистрация
для просмотра содержимого URL-адресов!
");}
catch (OperationCanceledException Ex)
{
Console.WriteLine(Ex.Message);
}
SW.Stop();
LogWrite(new string('#', 25));
LogWrite(content);
LogWrite(new string('#', 25));
LogWrite("Elapsed time: " + SW.ElapsedMilliseconds);
Console.WriteLine("Done!");
}
Задача отменяется, но завершение происходит слишком долго. Как же решить эту задачу?
Буду вам чрезвычайно благодарен за скорейшее решение вопроса.