2
我遇到了webclient解析一些非常敏感的网页的问题。不知何故,Web客户端没有做任何事情,我甚至不知道为什么,没有例外,没有错误,只是简单的不工作(这不是从网站的问题)无论如何重置webclient?
但我只在一个循环运行webclient第一个请求是成功的,所有下一个请求都失败了。当我重新启动应用程序时,出现相同的结果,第一个请求总是成功,而所有其他请求都失败。
我确定所有的webclient都正确配置,但我不知道问题是什么,webclient即使在配置后也保存信息?
请指导我如何清除所有内容,重置所有内容并启动全新的Web客户端。
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");
}
}
是的,在我的程序中,我尝试了提琴手和thread.sleep(5000),它没有帮助。该网站,在我的实际请求中,我可以请求它没有任何问题。另外,为什么只有第一个要求才是可行的?我试图运行第一次请求,关闭,再次运行,它工作得很好。 – DucDigital 2010-01-26 15:10:40
运行Fiddler并查看服务器的响应情况。 (以及是否在原始请求中有任何区别,并且尝试使用Fiddler的请求构建器发出两个请求。 – SLaks 2010-01-26 15:13:22
第一个答案,没有什么不同,但服务器响应内容长度为0.我尝试重新启动并再次运行,可以接收数据,但接下来的内容长度为0,如果它实际上处理所有事情,我想循环成功,对吧?但我需要重新启动程序并再次运行,非常麻烦。2,请求生成器不好对于这种情况,因为我需要在请求后续页面之前运行某个令牌的解析... – DucDigital 2010-01-26 15:18:45