【发布时间】:2012-11-05 09:34:48
【问题描述】:
Uri URL2 = new Uri(@"http://www......com");
HttpWebRequest request2 = (HttpWebRequest)WebRequest.Create(URL2);
request2.Timeout = 10000;
HttpWebResponse response2 = (HttpWebResponse)request2.GetResponse();
我正在使用上面的代码进行 webrequest。当我写一个愚蠢的网址时,例如 www.oiasjdilasod.com 它会抛出异常;但是,当现有页面在几个小时内不可用时,我无法获得此异常。它不会抛出任何异常并停止运行。 当此页面不可用时,我在 Internet Explorer 上尝试过,它显示页面找不到 http 400 错误请求。 您对如何捕获此异常有什么建议吗?
【问题讨论】:
-
请求没有超时,但是 - Web 服务器正在响应。它以 4XX 的 HttpStatus 响应,这表明来自客户端的请求存在错误。您的请求将超时的唯一情况是服务器已关闭、服务器不存在或服务器响应您的请求的时间过长。因此,您应该检查状态代码是否为 200(“Ok”)
标签: c# httpwebrequest timeout httpwebresponse timeoutexception