WebClient.DownloadString(url)当这个url返回404页面时,我怎么能跳过这个呢
本文关键字:url 怎么能 返回 DownloadString 404页 WebClient | 更新日期: 2023-09-27 18:20:46
我使用WebClient.DownloadString(url)下载网页,当url是404网页时,它会停止并不再工作。当我出现这个错误时,我想跳过这些页面。
如果url是404页面,则不会开始下载。所以我无法解析未下载的数据。。。
您必须捕获异常并测试404:
try
{
string myString;
using (WebClient wc = new WebClient())
myString= wc.DownloadString("http://foo.com");
}
catch (WebException ex)
{
if (ex.Status == WebExceptionStatus.ProtocolError && ex.Response != null)
{
var resp = (HttpWebResponse)ex.Response;
if (resp.StatusCode == HttpStatusCode.NotFound) // HTTP 404
{
//the page was not found, continue with next in the for loop
continue;
}
}
//throw any other exception - this should not occur
throw;
}
您可以将代码放在Try...Catch
块中并捕获WebException。如果希望对如何处理特定错误进行更多控制,可以使用WebException的Status
属性,该属性返回WebExceptionStatus枚举。