Есть ли способ сбросить веб-клиент? - PullRequest
2 голосов
/ 26 января 2010

У меня проблема с веб-клиентом для анализа очень чувствительной веб-страницы. Каким-то образом веб-клиенту не удалось выполнить какую-либо задачу, и я даже не знаю, почему, без исключения, без ошибок, просто не работает (это не проблема с сайта)

Я запускаю webclient в цикле, однако, только первый запрос был успешным, все последующие запросы были неудачными. Когда я перезапускаю приложение, появляется тот же результат, первый запрос всегда выполняется успешно, в то время как все остальные запросы не выполняются.

Я уверен, что все веб-клиенты расположены правильно, но я не знаю, в чем проблема, сохраняет ли веб-клиент информацию даже после утилизации?

Пожалуйста, объясните мне, как все очистить, сбросить настройки и запустить новый веб-клиент.

for (int i = 1; i <= Count; i++)
{
    using (WebClient wc = new WebClient())
    {
        wc.Headers["Accept-Encoding"] = "gzip";
        wc.Headers["User-Agent"] = "Mozilla/4.0 (Compatible; Windows NT 5.1; MSIE 6.0) (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";
        byte[] arr = wc.DownloadData(url);

        if (arr.Length > 0)
            Console.WriteLine(i.ToString() + ": SUCCESS");
        else
            Console.WriteLine(i.ToString() + ": FAILED");
    }
}

1 Ответ

0 голосов
/ 26 января 2010

WebClient не будет делиться информацией между экземплярами.
Возможно, у вас другая проблема.

Например, сайт может игнорировать запросы, которые происходят слишком часто.

Вы должны запустить Fiddler и точно проверить, что происходит.

Также попробуйте добавить Thread.Sleep(5000) в цикл и посмотреть, что изменится. (В Fiddler)

...