下载数据时,需要知道某个Web资源是否有效,其基本原理就是利用HTTP的HEAD方法,根据标头返回的状态码,就可以确定资源是否有效了。
基本方法:
/// <summary>
/// 检测网络资源是否有效
/// </summary>
/// <param name="uri">要检测的网络资源URI</param>
/// <returns>网络资源是否有效</returns>
public static bool IsWebResourcesAvailable(string uri)
{
try
{
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(uri);
// HTTP 的HEAD方法
webRequest.Method = "HEAD";
webRequest.Timeout = 3000;
HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();
// 获取HEAD返回的状态码
return ( webResponse.StatusCode == HttpStatusCode.OK );
}
catch (WebException ex)
{
return false;
}
}