龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > asp.net编程 >

ASP.NET使用HTTP头检测网络资源是否有效

时间:2009-12-21 11:47来源:未知 作者:admin 点击:
分享到:
我们有时候,需要知道某个网络资源是否有效、可用,但是我们并不想打开或下载这个资源,因为这个资源可能很大(例如需要下载的某个文件) 一种行之有效的方式,就是利用HTTP头

我们有时候,需要知道某个网络资源是否有效、可用,但是我们并不想打开或下载这个资源,因为这个资源可能很大(例如需要下载的某个文件)

一种行之有效的方式,就是利用HTTP头返回的状态码来确定资源的可用性;我们通常的WEB访问,使用的是 GET 和 POST, 这里使用的是 HEAD 方式

static bool IsWebResourceAvailable(string webResourceAddress)
{
 try
 {
  HttpWebRequest req = (HttpWebRequest)WebRequest.CreateDefault(new Uri(webResourceAddress));
  req.Method = "HEAD";
  req.Timeout = 1000;
  HttpWebResponse res = (HttpWebResponse)req.GetResponse();
  return (res.StatusCode == HttpStatusCode.OK);
 }
 catch (WebException wex)
 {
  System.Diagnostics.Trace.Write(wex.Message);
  return false;
 }
}
上面的函数中, webResourceAddress 是资源的地址,例如: http://www.xueit.com

如果资源可用,返回 true, 否则返回 false

精彩图集

赞助商链接