C# HTTP系列5 HttpWebResponse.StatusCode属性
HttpWebResponse.StatusCode 属性获取响应的状态。对应 HttpStatusCode 枚举值之一。
Accepted | 202 |
等效于 HTTP 状态 202。 Accepted 指示已接受请求做进一步处理。 |
Ambiguous | 300 |
等效于 HTTP 状态 300。 Ambiguous 指示请求的信息有多种表示形式。 默认操作是将此状态视为重定向,并遵循与此响应关联的 Location 标头的内容。 |
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 | 301 |
等效于 HTTP 状态 301。 MovedPermanently 指示请求的信息已移到 Location 头中指定的 URI 处。 接收到此状态时的默认操作为遵循与响应关联的 Location 标头。 |
MultipleChoices | 300 |
等效于 HTTP 状态 300。 MultipleChoices 指示请求的信息有多种表示形式。 默认操作是将此状态视为重定向, 并遵循与此响应关联的 Location 标头的内容。 |
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 方法。 |
RedirectMethod | 303 |
等效于 HTTP 状态 303。 作为 POST 的结果,RedirectMethod 将客户端自动重定向到 Location 标头中指定的 URI。 用 GET 生成对 Location 标头所指定的资源的请求。 |
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 标头所指定的资源的请求。 |
ServiceUnavailable | 503 |
等效于 HTTP 状态 503。 ServiceUnavailable 指示服务器暂时不可用,通常是由于过多加载或维护。 |
SwitchingProtocols | 101 |
等效于 HTTP 状态 101。 SwitchingProtocols 指示正在更改协议版本或协议。 |
TemporaryRedirect | 307 |
等效于 HTTP 状态 307。 TemporaryRedirect 指示请求信息位于 Location 标头中指定的 URI 处。 接收到此状态时的默认操作为遵循与响应关联的 Location 标头。 原始请求方法为 POST 时,重定向的请求还将使用 POST 方法。 |
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 的代理服务器。 |
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
成在管理,败在经验;嬴在选择,输在不学! 贵在坚持!
个人作品
BIMFace.SDK.NET
开源地址:https://gitee.com/NAlps/BIMFace.SDK
系列博客:https://www.cnblogs.com/SavionZhang/p/11424431.html
系列视频:https://www.cnblogs.com/SavionZhang/p/14258393.html
技术栈
1、Visual Studio、.NET Core/.NET、MVC、Web API、RESTful API、gRPC、SignalR、Java、Python
2、jQuery、Vue.js、Bootstrap、ElementUI
3、数据库:分库分表、读写分离、SQLServer、MySQL、PostgreSQL、Redis、MongoDB、ElasticSearch、达梦DM
4、架构:DDD、ABP、SpringBoot、jFinal
5、环境:跨平台、Windows、Linux、Nginx
6、移动App:Android、IOS、HarmonyOS、微信小程序、钉钉、uni-app、MAUI
分布式、高并发、云原生、微服务、Docker、CI/CD、DevOps、K8S;Dapr、RabbitMQ、Kafka、RPC、Elasticsearch。
欢迎关注作者头条号 张传宁IT讲堂,获取更多IT文章、视频等优质内容。
出处:www.cnblogs.com/SavionZhang
作者:张传宁 技术顾问、培训讲师、微软MCP、系统架构设计师、系统集成项目管理工程师、科技部创新工程师。
专注于企业级通用开发平台、工作流引擎、自动化项目(代码)生成器、SOA 、DDD、 云原生(Docker、微服务、DevOps、CI/CD);PDF、CAD、BIM 审图等研究与应用。
多次参与电子政务、图书教育、生产制造等企业级大型项目研发与管理工作。
熟悉中小企业软件开发过程:可行调研、需求分析、架构设计、编码测试、实施部署、项目管理。通过技术与管理帮助中小企业实现互联网转型升级全流程解决方案。
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如有问题,可以通过邮件905442693@qq.com联系。共同交流、互相学习。
如果您觉得文章对您有帮助,请点击文章右下角【推荐】。您的鼓励是作者持续创作的最大动力!