首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C# HTTP系列5 HttpWebResponse.StatusCode属性

HttpWebResponse.StatusCode 属性获取响应的状态。对应 HttpStatusCode 枚举值之一。

HttpStatusCode 枚举

Accepted

202

等效于 HTTP 状态 202。 Accepted 指示已接受请求做进一步处理。

Ambiguous

300

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

BadGateway

502

等效于 HTTP 状态 502。 BadGateway 指示中间代理服务器从另一代理或原始服务器接收到错误响应。

BadRequest

400

等效于 HTTP 状态 400。 BadRequest 指示服务器未能识别请求。 如果没有其他适用的错误, 或者不知道准确的错误或错误没有自己的错误代码,则发送 BadRequest。

Conflict

409

等效于 HTTP 状态 409。 Conflict 指示由于服务器上的冲突而未能执行请求。

Continue

100

等效于 HTTP 状态 100。 Continue 指示客户端可能继续其请求。

Created

201

等效于 HTTP 状态 201。 Created 指示请求导致在响应被发送前创建新资源。

ExpectationFailed

417

等效于 HTTP 状态 417。 ExpectationFailed 指示服务器未能符合 Expect 标头中给定的预期值。

Forbidden

403

等效于 HTTP 状态 403。 Forbidden 指示服务器拒绝满足请求。

Found

302

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

GatewayTimeout

504

等效于 HTTP 状态 504。 GatewayTimeout 指示中间代理服务器在等待来自另一个代理或原始服务器的响应时已超时。

Gone

410

等效于 HTTP 状态 410。 Gone 指示请求的资源不再可用。

HttpVersionNotSupported

505

等效于 HTTP 状态 505。 HttpVersionNotSupported指示服务器不支持请求的 HTTP 版本。

InternalServerError

500

等效于 HTTP 状态 500。 InternalServerError 指示服务器上发生了一般错误。

LengthRequired

411

等效于 HTTP 状态 411。 LengthRequired 指示缺少必需的 Content-length 标头。

MethodNotAllowed

405

等效于 HTTP 状态 405。 MethodNotAllowed 指示请求的资源上不允许请求方法(POST 或 GET)。

Moved

301

等效于 HTTP 状态 301。 Moved 指示请求的信息已移到 Location 头中指定的 URI 处。 接收到此状态时的默认操作为遵循与响应关联的 Location 标头。 原始请求方法为 POST 时, 重定向的请求将使用 GET 方法。 移动是的同义词MovedPermanently。

MovedPermanently

301

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

MultipleChoices

300

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

NoContent

204

等效于 HTTP 状态 204。 NoContent 指示已成功处理请求并且响应已被设定为无内容。

NonAuthoritativeInformation

203

等效于 HTTP 状态 203。NonAuthoritativeInformation 指示返回的元信息来自缓存副本而不是原始服务器, 因此可能不正确。

NotAcceptable

406

等效于 HTTP 状态 406。 NotAcceptable 指示客户端已用 Accept 标头指示将不接受资源的任何可用表示形式。

NotFound

404

等效于 HTTP 状态 404。 NotFound 指示请求的资源不在服务器上。

NotImplemented

501

等效于 HTTP 状态 501。 NotImplemented 指示服务器不支持请求的函数。

NotModified

304

等效于 HTTP 状态 304。 NotModified 指示客户端的缓存副本是最新的。 未传输此资源的内容。

OK

200

等效于 HTTP 状态 200。 OK 指示请求成功,且请求的信息包含在响应中。 这是最常接收的状态代码。

PartialContent

206

等效于 HTTP 状态 206。 PartialContent 指示响应是包括字节范围的 GET 请求所请求的部分响应。

PaymentRequired

402

等效于 HTTP 状态 402。 保留 PaymentRequired 以供将来使用。

PreconditionFailed

412

等效于 HTTP 状态 412。 PreconditionFailed 指示一个条件设置为此请求失败,并且无法执行请求。 使用条件请求标头,如: If-match、 设置条件 If-None-匹配项,或如果-以未修改形式-自。

ProxyAuthenticationRequired

407

等效于 HTTP 状态 407。ProxyAuthenticationRequired 指示请求的代理要求身份验证。 Proxy-authenticate 标头包含如何执行身份验证的详细信息。

Redirect

302

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

RedirectKeepVerb

307

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

RedirectMethod

303

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

RequestedRangeNotSatisfiable

416

等效于 HTTP 状态 416。RequestedRangeNotSatisfiable 指示无法返回从资源请求的数据范围,因为范围的开头在资源的开头之前, 或因为范围的结尾在资源的结尾之后。

RequestEntityTooLarge

413

等效于 HTTP 状态 413。 RequestEntityTooLarge 指示请求太大,服务器无法处理。

RequestTimeout

408

等效于 HTTP 状态 408。 RequestTimeout 指示客户端没有在服务器期望请求的时间内发送请求。

RequestUriTooLong

414

等效于 HTTP 状态 414。 RequestUriTooLong 指示 URI 太长。

ResetContent

205

等效于 HTTP 状态 205。 ResetContent 指示客户端应重置(而非重新加载)当前资源。

SeeOther

303

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

ServiceUnavailable

503

等效于 HTTP 状态 503。 ServiceUnavailable 指示服务器暂时不可用,通常是由于过多加载或维护。

SwitchingProtocols

101

等效于 HTTP 状态 101。 SwitchingProtocols 指示正在更改协议版本或协议。

TemporaryRedirect

307

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

Unauthorized

401

等效于 HTTP 状态 401。 Unauthorized 指示请求的资源要求身份验证。 WWW-Authenticate 标头包含如何执行身份验证的详细信息。

UnsupportedMediaType

415

等效于 HTTP 状态 415。 UnsupportedMediaType指示请求是不受支持的类型。

Unused

306

等效于 HTTP 状态 306。 Unused 是未完全指定的 HTTP/1.1 规范的建议扩展。

UpgradeRequired

426

等效于 HTTP 状态 426。 UpgradeRequired 指示客户端应切换为诸如 TLS/1.0 之类的其他协议。

UseProxy

305

等效于 HTTP 状态 305。 UseProxy 指示请求应使用位于 Location 标头中指定的 URI 的代理服务器。

示例

下面的示例将返回的状态进行比较HttpWebResponse的成员HttpStatusCode类来确定响应的状态。

代码语言:javascript
复制
 1 HttpWebRequest httpReq = (HttpWebRequest)WebRequest.Create("http://www.contoso.com");
 2 httpReq.AllowAutoRedirect = false;
 3 
 4 HttpWebResponse httpRes = (HttpWebResponse)httpReq.GetResponse();
 5 
 6 if (httpRes.StatusCode==HttpStatusCode.Moved) 
 7 {
 8     // ToDo 
 9 }
10 
11 // 关闭响应
12 httpRes.Close();

注解

HttpStatusCode 枚举包含的状态代码为 HTTP 1.1 RFC 2616 中定义的值。包含的 HTTP 请求的状态 HttpWebResponse.StatusCode 属性。

如果HttpWebRequest.AllowAutoRedirect属性是false,下面的枚举值会导致引发异常:

  • Ambiguous
  • Found
  • MultipleChoices
  • Redirect
  • RedirectKeepVerb
  • RedirectMethod
  • SeeOther
  • TemporaryRedirect

下一篇
举报
领券