我们有时候,需要知道某个网络资源是否有效、可用,但是我们并不想打开或下载这个资源,因为这个资源可能很大(例如需要下载的某个文件)
一种行之有效的方式,就是利用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
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/12639172/viewspace-545668/ ,如需转载,请注明出处,否则将追究法律责任。