反正有没有重置webclient?

时间:2010-01-26 14:58:52

标签: c# .net parsing webclient

我遇到了webclient解析一些非常敏感的网页的问题。不知何故,webclient未能完成一些任务,我甚至不知道为什么,没有例外,没有错误,只是简单的不工作(这不是来自网站的问题)

我在循环中运行webclient,但是,只有第一个请求成功,所有下一个请求都失败了。当我重新启动应用程序时,会出现相同的结果,第一个请求总是成功,而所有其他请求都失败。

我确定所有webclient都处理得当,但我不知道是什么问题,webclient即使在处理后也能保存信息?

请指导我如何清除所有内容,重置所有内容并启动全新的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 :(得分:0)

WebClient不会在实例之间共享任何信息 你可能有不同的问题。

例如,该网站可能会忽略过于频繁发生的请求。

你应该运行Fiddler并确切地检查发生了什么。

此外,尝试在循环中添加Thread.Sleep(5000)并查看是否有任何更改。 (在提琴手中)