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