C#中判斷一個網址是否可以打開


public static void GetPage(String url) { try { // Creates an HttpWebRequest for the specified URL.
        HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
// 有些網站會阻止程序訪問,需要加入下面這句
myHttpWebRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko";
        myHttpWebRequest.Method = "GET";
// Sends the HttpWebRequest and waits for a response. HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse(); if (myHttpWebResponse.StatusCode == HttpStatusCode.OK) Console.WriteLine("\r\nResponse Status Code is OK and StatusDescription is: {0}", myHttpWebResponse.StatusDescription); // Releases the resources of the response. myHttpWebResponse.Close(); } catch(WebException e) { Console.WriteLine("\r\nWebException Raised. The following error occured : {0}",e.Status); } catch(Exception e) { Console.WriteLine("\nThe following Exception was raised : {0}",e.Message); } }

HttpStatusCode 枚舉的值,可以參考:

  成員名稱 說明
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET Accepted 等效於 HTTP 狀態 202。  Accepted   指示請求已被接受做進一步處理。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET Ambiguous 等效於 HTTP 狀態 300。  Ambiguous   指示請求的信息有多種表示形式。  默認操作是將此狀態視為重定向,並遵循與此響應關聯的 Location 標頭的內容。 

如果 HttpWebRequest.AllowAutoRedirect 屬性為 false,則 Ambiguous 將導致引發異常。

Ambiguous   是 MultipleChoices 的同義詞。

受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET BadGateway 等效於 HTTP 狀態 502。  BadGateway   指示中間代理服務器從另一代理或原始服務器接收到錯誤響應。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET BadRequest 等效於 HTTP 狀態 400。  BadRequest   指示服務器未能識別請求。  如果沒有其他適用的錯誤,或者不知道准確的錯誤或錯誤沒有自己的錯誤代碼,則發送 BadRequest。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET Conflict 等效於 HTTP 狀態 409。  Conflict   指示由於服務器上的沖突而未能執行請求。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET Continue 等效於 HTTP 狀態 100。  Continue   指示客戶端可能繼續其請求。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET Created 等效於 HTTP 狀態 201。  Created   指示請求導致在響應被發送前創建新資源。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET ExpectationFailed 等效於 HTTP 狀態 417。  ExpectationFailed   指示服務器未能符合 Expect 頭中給定的預期值。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET Forbidden 等效於 HTTP 狀態 403。  Forbidden   指示服務器拒絕滿足請求。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET Found 等效於 HTTP 狀態 302。  Found   指示請求的信息位於 Location 頭中指定的 URI 處。  接收到此狀態時的默認操作為遵循與響應關聯的 Location 頭。  原始請求方法為 POST 時,重定向的請求將使用 GET 方法。 

如果 HttpWebRequest.AllowAutoRedirect 屬性為 false,則 Found 將導致引發異常。

Found   是 Redirect 的同義詞。

受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET GatewayTimeout 等效於 HTTP 狀態 504。  GatewayTimeout   指示中間代理服務器在等待來自另一個代理或原始服務器的響應時已超時。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET Gone 等效於 HTTP 狀態 410。  Gone   指示請求的資源不再可用。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET HttpVersionNotSupported 等效於 HTTP 狀態 505。  HttpVersionNotSupported   指示服務器不支持請求的 HTTP 版本。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET InternalServerError 等效於 HTTP 狀態 500。  InternalServerError   指示服務器上發生了一般錯誤。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET LengthRequired 等效於 HTTP 狀態 411。  LengthRequired   指示缺少必需的 Content-length 頭。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET MethodNotAllowed 等效於 HTTP 狀態 405。  MethodNotAllowed   指示請求的資源上不允許請求方法(POST 或 GET)。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET Moved 等效於 HTTP 狀態 301。  Moved   指示請求的信息已移到 Location 頭中指定的 URI 處。  接收到此狀態時的默認操作為遵循與響應關聯的 Location 頭。  原始請求方法為 POST 時,重定向的請求將使用 GET 方法。 

               Moved   是 MovedPermanently 的同義詞。

受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET MovedPermanently 等效於 HTTP 狀態 301。  MovedPermanently   指示請求的信息已移到 Location 頭中指定的 URI 處。  接收到此狀態時的默認操作為遵循與響應關聯的 Location 頭。 

               MovedPermanently   是 Moved 的同義詞。

受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET MultipleChoices 等效於 HTTP 狀態 300。  MultipleChoices   指示請求的信息有多種表示形式。  默認操作是將此狀態視為重定向,並遵循與此響應關聯的 Location 標頭的內容。 

如果 HttpWebRequest.AllowAutoRedirect 屬性為 false,則 MultipleChoices 將導致引發異常。

MultipleChoices   是 Ambiguous 的同義詞。

受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET NoContent 等效於 HTTP 狀態 204。  NoContent   指示已成功處理請求並且響應已被設定為無內容。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET NonAuthoritativeInformation 等效於 HTTP 狀態 203。  NonAuthoritativeInformation   指示返回的元信息來自緩存副本而不是原始服務器,因此可能不正確。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET NotAcceptable 等效於 HTTP 狀態 406。  NotAcceptable   指示客戶端已用 Accept 頭指示將不接受資源的任何可用表示形式。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET NotFound 等效於 HTTP 狀態 404。  NotFound   指示請求的資源不在服務器上。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET NotImplemented 等效於 HTTP 狀態 501。  NotImplemented   指示服務器不支持請求的函數。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET NotModified 等效於 HTTP 狀態 304。  NotModified   指示客戶端的緩存副本是最新的。  未傳輸此資源的內容。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET OK 等效於 HTTP 狀態 200。  OK   指示請求成功,且請求的信息包含在響應中。  這是最常接收的狀態代碼。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET PartialContent 等效於 HTTP 狀態 206。  PartialContent   指示響應是包括字節范圍的 GET 請求所請求的部分響應。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET PaymentRequired 等效於 HTTP 狀態 402。  保留 PaymentRequired 以供將來使用。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET PreconditionFailed 等效於 HTTP 狀態 412。  PreconditionFailed   指示為此請求設置的條件失敗,且無法執行此請求。  條件是用條件請求標頭(如 If-Match、If-None-Match 或 If-Unmodified-Since)設置的。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET ProxyAuthenticationRequired 等效於 HTTP 狀態 407。  ProxyAuthenticationRequired   指示請求的代理要求身份驗證。  Proxy-authenticate 頭包含如何執行身份驗證的詳細信息。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET Redirect 等效於 HTTP 狀態 302。  Redirect   指示請求的信息位於 Location 頭中指定的 URI 處。  接收到此狀態時的默認操作為遵循與響應關聯的 Location 頭。  原始請求方法為 POST 時,重定向的請求將使用 GET 方法。 

如果 HttpWebRequest.AllowAutoRedirect 屬性為 false,則 Redirect 將導致引發異常。

Redirect   是 Found 的同義詞。

受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET RedirectKeepVerb 等效於 HTTP 狀態 307。  RedirectKeepVerb   指示請求信息位於 Location 頭中指定的 URI 處。  接收到此狀態時的默認操作為遵循與響應關聯的 Location 頭。  原始請求方法為 POST 時,重定向的請求還將使用 POST 方法。 

如果 HttpWebRequest.AllowAutoRedirect 屬性為 false,則 RedirectKeepVerb 將導致引發異常。

RedirectKeepVerb   是 TemporaryRedirect 的同義詞。

受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET RedirectMethod 等效於 HTTP 狀態 303。  作為 POST 的結果,RedirectMethod 將客戶端自動重定向到 Location 頭中指定的 URI。  用 GET 生成對 Location 標頭所指定的資源的請求。 

如果 HttpWebRequest.AllowAutoRedirect 屬性為 false,則 RedirectMethod 將導致引發異常。

RedirectMethod   是 SeeOther 的同義詞。

受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET RequestedRangeNotSatisfiable 等效於 HTTP 狀態 416。  RequestedRangeNotSatisfiable   指示無法返回從資源請求的數據范圍,因為范圍的開頭在資源的開頭之前,或因為范圍的結尾在資源的結尾之后。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET RequestEntityTooLarge 等效於 HTTP 狀態 413。  RequestEntityTooLarge   指示請求太大,服務器無法處理。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET RequestTimeout 等效於 HTTP 狀態 408。  RequestTimeout   指示客戶端沒有在服務器期望請求的時間內發送請求。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET RequestUriTooLong 等效於 HTTP 狀態 414。  RequestUriTooLong   指示 URI 太長。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET ResetContent 等效於 HTTP 狀態 205。  ResetContent   指示客戶端應重置(或重新加載)當前資源。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET SeeOther 等效於 HTTP 狀態 303。  作為 POST 的結果,SeeOther 將客戶端自動重定向到 Location 頭中指定的 URI。  用 GET 生成對 Location 標頭所指定的資源的請求。 

如果 HttpWebRequest.AllowAutoRedirect 屬性為 false,則 SeeOther 將導致引發異常。

SeeOther   是 RedirectMethod 的同義詞。

受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET ServiceUnavailable 等效於 HTTP 狀態 503。  ServiceUnavailable   指示服務器暫時不可用,通常是由於過多加載或維護。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET SwitchingProtocols 等效於 HTTP 狀態 101。  SwitchingProtocols   指示正在更改協議版本或協議。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET TemporaryRedirect 等效於 HTTP 狀態 307。  TemporaryRedirect   指示請求信息位於 Location 頭中指定的 URI 處。  接收到此狀態時的默認操作為遵循與響應關聯的 Location 頭。  原始請求方法為 POST 時,重定向的請求還將使用 POST 方法。 

如果 HttpWebRequest.AllowAutoRedirect 屬性為 false,則 TemporaryRedirect 將導致引發異常。

TemporaryRedirect   是 RedirectKeepVerb 的同義詞。

受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET Unauthorized 等效於 HTTP 狀態 401。  Unauthorized   指示請求的資源要求身份驗證。  WWW-Authenticate 頭包含如何執行身份驗證的詳細信息。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET UnsupportedMediaType 等效於 HTTP 狀態 415。  UnsupportedMediaType   指示請求是不支持的類型。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET Unused 等效於 HTTP 狀態 306。  Unused   是未完全指定的 HTTP/1.1 規范的建議擴展。 
受以下版本支持:適用於 Windows 應用商店應用的 .NET UpgradeRequired 等效於 HTTP 狀態 426。  UpgradeRequired   指示客戶端應切換為諸如 TLS/1.0 之類的其他協議。 
受以下產品支持可移植類庫受以下版本支持:適用於 Windows 應用商店應用的 .NET UseProxy 等效於 HTTP 狀態 305。  UseProxy   指示請求應使用位於 Location 頭中指定的 URI 的代理服務器。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM