我正在從歷史數據庫中讀取數據,並且讀取每個URL,我正在下載它並將數據存儲到字符串中。我希望能夠確定鏈接是否是下載鏈接,即例如.exe或.zip。我假設我需要閱讀標題來確定這一點,但我不知道如何使用WebClient來完成。有什麼建議麼?檢查URL是否是使用webclient c的下載鏈接#
while (sqlite_datareader.Read())
{
noIndex = false;
string url = (string)sqlite_datareader["url"];
try
{
if (url.Contains("http") && (!url.Contains(".pdf")) && (!url.Contains(".jpg")) && (!url.Contains("https")) && !isInBlackList(url))
{
WebClient client = new WebClient();
client.Headers.Add("user-agent", "Only a test!");
String htmlCode = client.DownloadString(url);
}
}
}
的確如此。也許有辦法在下載之前檢查數據的大小?但是,由於我看不到,沒有太多時間,.exe,.zip和.rar就足夠了。謝謝 – michelle 2011-05-10 13:39:47
還好,我需要下載字符串或得到響應流。我之所以要過濾出.exe等是因爲我不需要下載它們。不幸的是,並不是所有的鏈接都在其URL中包含.exe,所以我需要看到響應標題:/ – michelle 2011-05-10 13:55:42
您可以嘗試使用'DownloadStringAsync()'來代替。然後,只要有頭文件,您就可以確定如何處理內容,並取消或允許下載完成。 – Yuck 2011-05-10 14:17:50