我正在从历史数据库中读取数据,并且读取每个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