【发布时间】:2014-07-02 23:18:25
【问题描述】:
我的目标是编写一个 C# 方法来验证 url 是否指向有效的在线资源。它目前看起来像这样:
string url = "http://www.sony.com/";
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.Method = "HEAD";
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
var msg = response.StatusCode == HttpStatusCode.OK ? "OK" : "Dead Link";
Console.WriteLine(msg);
}
即使我可以在 Web 浏览器中浏览到 Sony url,此代码也会引发异常。起初我以为他们的网络服务器不支持 HEAD。不知道有些没有?但它仍然会引发 GET 异常。有什么建议可以更好地编写此代码来处理此类情况吗?
【问题讨论】:
-
抛出什么异常?
-
System.Net.WebException:请求已中止:操作已超时。对不起,我应该发布的。
标签: c# .net httpwebrequest webrequest