C#:当网页没有响应时退出System.Net.WebClient下载(无论如何)

时间:2011-05-03 00:41:48

标签: c# webclient downloading

如果网站在一秒左右后没有响应,那么可以安全地假设它是一个糟糕的链接,并且我应该继续使用一组“可能的链接”中的下一个链接。

如何告诉WebClient在预定的时间后停止尝试下载?

我想我可以使用一个帖子,但如果下载的时间超过一秒,那就没关系。我只是想确保它与网站连接。

也许我应该修改WebClient标题,但我看不出应该修改的内容。

也许我应该在System.Net命名空间中使用其他类?

1 个答案:

答案 0 :(得分:2)

如果您使用System.Net.WebRequest类,则可以将Timeout属性设置为short并处理超时异常。

try{
    var request = WebRequest.Create("http://www.contoso.com");
    request.Timeout = 5000; //set the timeout to 5 seconds
    request.Method = "GET";
    var response = request.GetResponse();
}
catch(WebException webEx){
   //there was an error, likely a timeout, try another link here
}