码迷,mamicode.com
首页 > 其他好文 > 详细

C#中判断一个网址是否可以打开

时间:2014-08-09 18:35:18      阅读:441      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   使用   os   io   

public static void GetPage(String url) 
{
    try
      {
        // Creates an HttpWebRequest for the specified URL.
        HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
        // 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 枚举的值,可以参考:

 成员名称说明
bubuko.com,布布扣bubuko.com,布布扣 Accepted 等效于 HTTP 状态 202。  Accepted   指示请求已被接受做进一步处理。 
bubuko.com,布布扣bubuko.com,布布扣 Ambiguous 等效于 HTTP 状态 300。  Ambiguous   指示请求的信息有多种表示形式。  默认操作是将此状态视为重定向,并遵循与此响应关联的 Location 标头的内容。 

如果 HttpWebRequest.AllowAutoRedirect 属性为 false,则 Ambiguous 将导致引发异常。

Ambiguous   是 MultipleChoices 的同义词。

bubuko.com,布布扣bubuko.com,布布扣 BadGateway 等效于 HTTP 状态 502。  BadGateway   指示中间代理服务器从另一代理或原始服务器接收到错误响应。 
bubuko.com,布布扣bubuko.com,布布扣 BadRequest 等效于 HTTP 状态 400。  BadRequest   指示服务器未能识别请求。  如果没有其他适用的错误,或者不知道准确的错误或错误没有自己的错误代码,则发送 BadRequest。 
bubuko.com,布布扣bubuko.com,布布扣 Conflict 等效于 HTTP 状态 409。  Conflict   指示由于服务器上的冲突而未能执行请求。 
bubuko.com,布布扣bubuko.com,布布扣 Continue 等效于 HTTP 状态 100。  Continue   指示客户端可能继续其请求。 
bubuko.com,布布扣bubuko.com,布布扣 Created 等效于 HTTP 状态 201。  Created   指示请求导致在响应被发送前创建新资源。 
bubuko.com,布布扣bubuko.com,布布扣 ExpectationFailed 等效于 HTTP 状态 417。  ExpectationFailed   指示服务器未能符合 Expect 头中给定的预期值。 
bubuko.com,布布扣bubuko.com,布布扣 Forbidden 等效于 HTTP 状态 403。  Forbidden   指示服务器拒绝满足请求。 
bubuko.com,布布扣bubuko.com,布布扣 Found 等效于 HTTP 状态 302。  Found   指示请求的信息位于 Location 头中指定的 URI 处。  接收到此状态时的默认操作为遵循与响应关联的 Location 头。  原始请求方法为 POST 时,重定向的请求将使用 GET 方法。 

如果 HttpWebRequest.AllowAutoRedirect 属性为 false,则 Found 将导致引发异常。

Found   是 Redirect 的同义词。

bubuko.com,布布扣bubuko.com,布布扣 GatewayTimeout 等效于 HTTP 状态 504。  GatewayTimeout   指示中间代理服务器在等待来自另一个代理或原始服务器的响应时已超时。 
bubuko.com,布布扣bubuko.com,布布扣 Gone 等效于 HTTP 状态 410。  Gone   指示请求的资源不再可用。 
bubuko.com,布布扣bubuko.com,布布扣 HttpVersionNotSupported 等效于 HTTP 状态 505。  HttpVersionNotSupported   指示服务器不支持请求的 HTTP 版本。 
bubuko.com,布布扣bubuko.com,布布扣 InternalServerError 等效于 HTTP 状态 500。  InternalServerError   指示服务器上发生了一般错误。 
bubuko.com,布布扣bubuko.com,布布扣 LengthRequired 等效于 HTTP 状态 411。  LengthRequired   指示缺少必需的 Content-length 头。 
bubuko.com,布布扣bubuko.com,布布扣 MethodNotAllowed 等效于 HTTP 状态 405。  MethodNotAllowed   指示请求的资源上不允许请求方法(POST 或 GET)。 
bubuko.com,布布扣bubuko.com,布布扣 Moved 等效于 HTTP 状态 301。  Moved   指示请求的信息已移到 Location 头中指定的 URI 处。  接收到此状态时的默认操作为遵循与响应关联的 Location 头。  原始请求方法为 POST 时,重定向的请求将使用 GET 方法。 

               Moved   是 MovedPermanently 的同义词。

bubuko.com,布布扣bubuko.com,布布扣 MovedPermanently 等效于 HTTP 状态 301。  MovedPermanently   指示请求的信息已移到 Location 头中指定的 URI 处。  接收到此状态时的默认操作为遵循与响应关联的 Location 头。 

               MovedPermanently   是 Moved 的同义词。

bubuko.com,布布扣bubuko.com,布布扣 MultipleChoices 等效于 HTTP 状态 300。  MultipleChoices   指示请求的信息有多种表示形式。  默认操作是将此状态视为重定向,并遵循与此响应关联的 Location 标头的内容。 

如果 HttpWebRequest.AllowAutoRedirect 属性为 false,则 MultipleChoices 将导致引发异常。

MultipleChoices   是 Ambiguous 的同义词。

bubuko.com,布布扣bubuko.com,布布扣 NoContent 等效于 HTTP 状态 204。  NoContent   指示已成功处理请求并且响应已被设定为无内容。 
bubuko.com,布布扣bubuko.com,布布扣 NonAuthoritativeInformation 等效于 HTTP 状态 203。  NonAuthoritativeInformation   指示返回的元信息来自缓存副本而不是原始服务器,因此可能不正确。 
bubuko.com,布布扣bubuko.com,布布扣 NotAcceptable 等效于 HTTP 状态 406。  NotAcceptable   指示客户端已用 Accept 头指示将不接受资源的任何可用表示形式。 
bubuko.com,布布扣bubuko.com,布布扣 NotFound 等效于 HTTP 状态 404。  NotFound   指示请求的资源不在服务器上。 
bubuko.com,布布扣bubuko.com,布布扣 NotImplemented 等效于 HTTP 状态 501。  NotImplemented   指示服务器不支持请求的函数。 
bubuko.com,布布扣bubuko.com,布布扣 NotModified 等效于 HTTP 状态 304。  NotModified   指示客户端的缓存副本是最新的。  未传输此资源的内容。 
bubuko.com,布布扣bubuko.com,布布扣 OK 等效于 HTTP 状态 200。  OK   指示请求成功,且请求的信息包含在响应中。  这是最常接收的状态代码。 
bubuko.com,布布扣bubuko.com,布布扣 PartialContent 等效于 HTTP 状态 206。  PartialContent   指示响应是包括字节范围的 GET 请求所请求的部分响应。 
bubuko.com,布布扣bubuko.com,布布扣 PaymentRequired 等效于 HTTP 状态 402。  保留 PaymentRequired 以供将来使用。 
bubuko.com,布布扣bubuko.com,布布扣 PreconditionFailed 等效于 HTTP 状态 412。  PreconditionFailed   指示为此请求设置的条件失败,且无法执行此请求。  条件是用条件请求标头(如 If-Match、If-None-Match 或 If-Unmodified-Since)设置的。 
bubuko.com,布布扣bubuko.com,布布扣 ProxyAuthenticationRequired 等效于 HTTP 状态 407。  ProxyAuthenticationRequired   指示请求的代理要求身份验证。  Proxy-authenticate 头包含如何执行身份验证的详细信息。 
bubuko.com,布布扣bubuko.com,布布扣 Redirect 等效于 HTTP 状态 302。  Redirect   指示请求的信息位于 Location 头中指定的 URI 处。  接收到此状态时的默认操作为遵循与响应关联的 Location 头。  原始请求方法为 POST 时,重定向的请求将使用 GET 方法。 

如果 HttpWebRequest.AllowAutoRedirect 属性为 false,则 Redirect 将导致引发异常。

Redirect   是 Found 的同义词。

bubuko.com,布布扣bubuko.com,布布扣 RedirectKeepVerb 等效于 HTTP 状态 307。  RedirectKeepVerb   指示请求信息位于 Location 头中指定的 URI 处。  接收到此状态时的默认操作为遵循与响应关联的 Location 头。  原始请求方法为 POST 时,重定向的请求还将使用 POST 方法。 

如果 HttpWebRequest.AllowAutoRedirect 属性为 false,则 RedirectKeepVerb 将导致引发异常。

RedirectKeepVerb   是 TemporaryRedirect 的同义词。

bubuko.com,布布扣bubuko.com,布布扣 RedirectMethod 等效于 HTTP 状态 303。  作为 POST 的结果,RedirectMethod 将客户端自动重定向到 Location 头中指定的 URI。  用 GET 生成对 Location 标头所指定的资源的请求。 

如果 HttpWebRequest.AllowAutoRedirect 属性为 false,则 RedirectMethod 将导致引发异常。

RedirectMethod   是 SeeOther 的同义词。

bubuko.com,布布扣bubuko.com,布布扣 RequestedRangeNotSatisfiable 等效于 HTTP 状态 416。  RequestedRangeNotSatisfiable   指示无法返回从资源请求的数据范围,因为范围的开头在资源的开头之前,或因为范围的结尾在资源的结尾之后。 
bubuko.com,布布扣bubuko.com,布布扣 RequestEntityTooLarge 等效于 HTTP 状态 413。  RequestEntityTooLarge   指示请求太大,服务器无法处理。 
bubuko.com,布布扣bubuko.com,布布扣 RequestTimeout 等效于 HTTP 状态 408。  RequestTimeout   指示客户端没有在服务器期望请求的时间内发送请求。 
bubuko.com,布布扣bubuko.com,布布扣 RequestUriTooLong 等效于 HTTP 状态 414。  RequestUriTooLong   指示 URI 太长。 
bubuko.com,布布扣bubuko.com,布布扣 ResetContent 等效于 HTTP 状态 205。  ResetContent   指示客户端应重置(或重新加载)当前资源。 
bubuko.com,布布扣bubuko.com,布布扣 SeeOther 等效于 HTTP 状态 303。  作为 POST 的结果,SeeOther 将客户端自动重定向到 Location 头中指定的 URI。  用 GET 生成对 Location 标头所指定的资源的请求。 

如果 HttpWebRequest.AllowAutoRedirect 属性为 false,则 SeeOther 将导致引发异常。

SeeOther   是 RedirectMethod 的同义词。

bubuko.com,布布扣bubuko.com,布布扣 ServiceUnavailable 等效于 HTTP 状态 503。  ServiceUnavailable   指示服务器暂时不可用,通常是由于过多加载或维护。 
bubuko.com,布布扣bubuko.com,布布扣 SwitchingProtocols 等效于 HTTP 状态 101。  SwitchingProtocols   指示正在更改协议版本或协议。 
bubuko.com,布布扣bubuko.com,布布扣 TemporaryRedirect 等效于 HTTP 状态 307。  TemporaryRedirect   指示请求信息位于 Location 头中指定的 URI 处。  接收到此状态时的默认操作为遵循与响应关联的 Location 头。  原始请求方法为 POST 时,重定向的请求还将使用 POST 方法。 

如果 HttpWebRequest.AllowAutoRedirect 属性为 false,则 TemporaryRedirect 将导致引发异常。

TemporaryRedirect   是 RedirectKeepVerb 的同义词。

bubuko.com,布布扣bubuko.com,布布扣 Unauthorized 等效于 HTTP 状态 401。  Unauthorized   指示请求的资源要求身份验证。  WWW-Authenticate 头包含如何执行身份验证的详细信息。 
bubuko.com,布布扣bubuko.com,布布扣 UnsupportedMediaType 等效于 HTTP 状态 415。  UnsupportedMediaType   指示请求是不支持的类型。 
bubuko.com,布布扣bubuko.com,布布扣 Unused 等效于 HTTP 状态 306。  Unused   是未完全指定的 HTTP/1.1 规范的建议扩展。 
bubuko.com,布布扣 UpgradeRequired 等效于 HTTP 状态 426。  UpgradeRequired   指示客户端应切换为诸如 TLS/1.0 之类的其他协议。 
bubuko.com,布布扣bubuko.com,布布扣 UseProxy 等效于 HTTP 状态 305。  UseProxy   指示请求应使用位于 Location 头中指定的 URI 的代理服务器。 

C#中判断一个网址是否可以打开,布布扣,bubuko.com

C#中判断一个网址是否可以打开

标签:des   style   blog   http   color   使用   os   io   

原文地址:http://www.cnblogs.com/wintalen/p/3901364.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!