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 枚举的值,可以参考:

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

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

Ambiguous   是 MultipleChoices 的同义词。

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

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

Found   是 Redirect 的同义词。

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

Moved   是 MovedPermanently 的同义词。

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

MovedPermanently   是 Moved 的同义词。

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

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

MultipleChoices   是 Ambiguous 的同义词。

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

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

Redirect   是 Found 的同义词。

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

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

RedirectKeepVerb   是 TemporaryRedirect 的同义词。

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

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

RedirectMethod   是 SeeOther 的同义词。

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

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

SeeOther   是 RedirectMethod 的同义词。

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

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

TemporaryRedirect   是 RedirectKeepVerb 的同义词。

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

C#中判断一个网址是否可以打开的更多相关文章

  1. jquery ajax中支持哪些返回类型以及js中判断一个类型常用的方法?

    1 jquery ajax中支持哪些返回类型在JQuery中,AJAX有三种实现方式:$.ajax() , $.post , $.get(). 预期服务器返回的数据类型.如果不指定,jQuery 将自 ...

  2. java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”

    在javascript中有一个方法isDigit()使用来判断一个字符串是否都是数字,在java的字符串处理方法中没有这样的方法,觉得常常需要用到,于是上网搜了一下,整理出了两个用正则表达式匹配的判断 ...

  3. Mysql中判断一个点是否落在多边形内

    关于地理空间数据,经常需要处理两个空间数据的关联关系.有很多种方法可以处理,通过编写程序算法,或者是调用数据库中对应的function.在mysql数据库中,https://dev.mysql.com ...

  4. shell中判断一个变量是否为0或者为某个具体的值

    需求说明: 在实际写脚本的过程中,需要判断某个变量的值是否为某个数字, 比如,判断某个进程的数量是否为0用来确定进程是否存在,这样的情况. 简单来说,算术比较. 测试过程: 通过以下的脚本来判断mys ...

  5. C#中判断一个数组中是否存在某个数组值 及相关

    声明:reference:http://www.cnblogs.com/icebutterfly/archive/2010/06/22/1762738.html:http://blog.csdn.ne ...

  6. shell脚本中判断一个字符串是否是空字符串

    需求说明: 在写脚本的时候,有的时候,需要判断一个字符串是否为空,因此,在此写出如何判断一个字符串为空的方法. 简单来说,就是字符串的比较. 测试脚本: 以下的脚本用于测试str_1和str_2是否是 ...

  7. linux中判断一个命令是否执行成功

    每一条基本命令执行后都有一个返回码,该返回码是用$?表示,执行成功的返回码是0,例如:if [ $? -ne 0 ];then 上一命令执行失败时的操作else 上一命令执行成功时的操作fi例如lin ...

  8. iOS中判断消息推送是否打开

    根据 [[UIApplication sharedApplication] enabledRemoteNotificationTypes] 的返回值来进行判断,该返回值是一个枚举值,如下: typed ...

  9. Python中判断一个中文是否中文数字的方法

    Python内置功能非常强大,在字符串内置函数中提供了一个判断字符串是否全数字的方法,而且这个方法不只是简单判断阿拉伯数字,包括中文数字和全角的阿拉伯数字都认识,这个函数就是字符串的isnumeric ...

随机推荐

  1. [msf]那些年儿跑过的字典

    SEC标签里都会说一些网络完全相关的,光说理论也不好,光将工具太肤浅,不做脚本小子,有一句话说的好,我们都知道最酷的是什么?酷的不是“h4ck3r”这两个字,而是技术. OK,-let's go!! ...

  2. 【原创】一起学C++ 之->(箭头符号) ---------C++ primer plus(第6版)

    1.C++新手在指定结构成员时,不知道何时用.运算符,何时是用->运算符. 结论:如果结构标识符是结构名,则使用句点运算符:如果标识符是指向结构的指针,则使用箭头运算符. #include &l ...

  3. [译] ASP.NET 生命周期 – ASP.NET 上下文对象(八)

    使用 HttpResponse 对象 HttpResponse 对象是与 HttpRequest 对象相对应的,用来表示构建中的响应.它当中提供了方法和属性可供我们自定义响应,有一些在使用 MVC 视 ...

  4. [译] ASP.NET 生命周期 – ASP.NET 上下文对象(六)

    使用 HttpApplication 对象 ASP.NET 框架中的许多类都提供了许多很方便的属性可以直接映射到 HttpContext 类中定义的属性.这种交叠有一个很好的例子就是 HttpAppl ...

  5. win7下以兼容模式安装oracle10g

    在win7系统装Oracle时经常会遇到一个“Oracle 10g 出现程序异常终止,发生内部错误!请将以下文件提供给 Oracle技术部门“未知”“未知”“未知””这样一个错误,百度了下,才知道原来 ...

  6. Schtasks 命令详解

    管理计划任务 SCHTASKS /parameter [arguments] 描述:     允许管理员创建.删除.查询.更改.运行和中止本地或远程系统上的计划任务. 参数列表:     /Creat ...

  7. iOS视频压缩存储至本地并上传至服务器-b

    最近做了一个项目,我把其中的核心功能拿出来和大家分享一下,重点还是自己梳理一下. 这里关于视频转码存储我整理了两个方法,这两个方法都是针对相册内视频进行处理的. 1.该方法没有对视频进行压缩,只是将视 ...

  8. hdu 4706 Children's Day(模拟)

    http://acm.hdu.edu.cn/showproblem.php?pid=4706 [题目大意]: 用a-z排出N的形状,输出大小为3-10的N,如果超过z之后,重新从a开始 下面是大小为3 ...

  9. 使用Yeoman搭建 AngularJS 应用 (8) —— 让我们搭建一个网页应用

    原文地址:http://yeoman.io/codelab/write-app.html 创建一个新的模板来显示一个todo的列表 打开views/main.html 为了从一个干净的模板开始,删除m ...

  10. OSUnMapTbl[]的原理

    问题描述:     ucos任务队列中优先级获取 问题解决: uCOS-II是一个多任务的操作系统,每个任务都是一个应用程序,它有自己的寄存器和堆栈空间,即任务控制块TCB(task control ...