using (var client = new WebClient())
{
client.DownloadFile(new Uri(@"http://www.bilyoner.com/iddaa/iddaa-liste"),path);
}
}
我想下載html源代碼,但我得到「底層連接已關閉:連接意外關閉。」例外。 我嘗試了不同的網址,只是工作正常。不能下載HTML頁面源
using (var client = new WebClient())
{
client.DownloadFile(new Uri(@"http://www.bilyoner.com/iddaa/iddaa-liste"),path);
}
}
我想下載html源代碼,但我得到「底層連接已關閉:連接意外關閉。」例外。 我嘗試了不同的網址,只是工作正常。不能下載HTML頁面源
接受壓縮流的技巧。
HttpWebRequest req = (HttpWebRequest)HttpWebRequest.Create("http://www.bilyoner.com/iddaa/iddaa-liste");
req.UserAgent = "MOZILLA/5.0 (WINDOWS NT 6.1; WOW64) APPLEWEBKIT/537.1 (KHTML, LIKE GECKO) CHROME/21.0.1180.75 SAFARI/537.1";
req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8";
req.Headers.Add("Accept-Encoding", "gzip,deflate");
GZipStream zip = new GZipStream(req.GetResponse().GetResponseStream(),
CompressionMode.Decompress);
var reader = new StreamReader(zip);
var page = reader.ReadToEnd();
你是說服務器以壓縮格式和WebClient()提供文件。DownloadFile()不處理壓縮格式? – 2012-08-17 10:13:44
參考使用的編程語言在這裏將會很有幫助。
你肯定@在
new Uri(@"http://www.bilyoner.com/iddaa/iddaa-liste")
是正確的?
對於開發過程中的調試,創建對所有連接的引用總是有用的。即
myConnection = new Uri(@"http://www.bilyoner.com/iddaa/iddaa-liste");
client.DownloadFile(myConnection, path);
@只是使它成爲一個文字字符串(你的字符串可以是多行,你不需要轉義特殊字符anymores)。但在這個例子中,這是沒有必要的。沒錯,雖然:) – Flater 2012-08-17 09:59:31
感謝您的低票。雖然我懷疑使用我提供的代碼會幫助OP,因爲它可能會在不同的線路上失敗 - 例如,如「nunespascal」和「L.B」所示,它可能是用戶代理或壓縮問題。 – 2012-08-17 10:17:35
我沒有downvote。當我評論時,你是在0.我同意使用額外的變量進行調試。我確實傾向於在確認代碼正確後刪除那些代碼。 – Flater 2012-08-17 10:26:31
也許服務器只允許標準瀏覽器訪問其內容。設置標準瀏覽器的用戶代理可能有效。 – nunespascal 2012-08-17 09:42:49