C#使用HTTP头检测网络资源是否有效
2011-11-11 20:45
288 查看
我们有时候,需要知道某个网络资源是否有效、可用,但是我们并不想打开或下载这个资源,因为这个资源可能很大(例如需要下载的某个文件)
一种行之有效的方式,就是利用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.zu14.cn/logo.gif
如果资源可用,返回 true, 否则返回 false
扩展:可以将 Method 属性设置为任何 HTTP 1.1 协议谓词:GET、HEAD、POST、PUT、DELETE、TRACE 或 OPTIONS。
一种行之有效的方式,就是利用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.zu14.cn/logo.gif
如果资源可用,返回 true, 否则返回 false
扩展:可以将 Method 属性设置为任何 HTTP 1.1 协议谓词:GET、HEAD、POST、PUT、DELETE、TRACE 或 OPTIONS。
相关文章推荐
- C#使用HTTP头检测网络资源是否有效
- C#使用HTTP头检测网络资源是否有效
- C#使用HTTP头检测网络资源是否有效
- C# 检测网络资源是否有效
- c# 判断某个网络资源是否有效
- iOS 检测网络是否可以使用
- 使用afinal 中的finalhttp和finalbitmap访问网络资源+finalActivity
- C#检测当前用户网络是否连接
- xxx无法访问 你可能没有权限使用网络资源.请与这台服务器的管理员联系以查明你是否有访问权限.
- c#使用HttpWebRequest,HttpWebResponse快速验证代理IP是否有用
- C#检测当前用户网络是否连接
- 无法访问,您可能没有权限使用网络资源。请与这台服务器的管理员联系以查明您是否有访问权限。拒绝访问
- Android使用HttpURLConnection请求网络资源
- 检测网络是否连接的两种方法(C#)
- 。你可能没有权限使用网络资源。请与这台服务器的管理员联系以查明您是否有访问权限。拒绝访问
- 【转】您可能没有权限使用网络资源,请与这台服务器的管理员联系以查明您是否有访问权限" 的解决办法
- XMLHTTP.Open Head 检测网络链接是否存在..
- c#使用winnet检测网络连接状况 .
- WORKGROUP无法访问,您可能没有权限使用网络资源,请与这台服务器的管理员联系以查明您是否有访问权限。
- C#快速检测是否有可用的网络连接存在