C#使用HTTP頭檢測網路資源是否有效

iDotNetSpace發表於2009-02-09

我們有時候,需要知道某個網路資源是否有效、可用,但是我們並不想開啟或下載這個資源,因為這個資源可能很大(例如需要下載的某個檔案)

一種行之有效的方式,就是利用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部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-545668/,如需轉載,請註明出處,否則將追究法律責任。

相關文章