C# HTTP系列2 HttpWebReponse类
System.Net.HttpWebReponse 类提供 WebResponse 类的特定于HTTP的实现。
例子
下面的示例返回一个从HttpWebRequest 对象返回的 HttpWebResponse对象。
1 HttpWebRequest httpWReq = ebRequest.Create("http://www.baidu.com") as HttpWebRequest; 2 3 HttpWebResponse httpWResp = httpWReq.GetResponse() as HttpWebResponse; 4 if(httpWResp!=null) 5 { 6 // 其他业务逻辑 7 8 httpWResp.Close(); 9 }
备注
此类包含对WebResponse类的属性和方法的HTTP特定用法的支持。该HttpWebResponse类用于构建发送HTTP请求HTTP独立的客户端应用程序和接收HTTP响应。
不要将HttpWebResponse与ASP.NET应用程序中使用的HttpResponse类混淆,后者的方法和属性通过ASP.NET的内部Response对象公开。
永远不应该直接创建HttpWebResponse类的实例。而是使用通过调用HttpWebRequest.GetResponse返回的实例。您必须调用Stream.Close或HttpWebResponse.Close方法来关闭响应并释放连接以便重用。没有必要同时调用Stream.Close和HttpWebResponse.Close,但这样做不会导致错误。
从 Internet 资源返回的常见标头信息公开为类的属性。 请参阅下表有关的完整列表。 可以从读取其他标头Headers属性作为名称/值对。
下表显示了可通过属性的常见 HTTP 标头HttpWebResponse类。
Header | Property |
---|---|
内容编码方式 | ContentEncoding |
内容长度 | ContentLength |
内容类型 | ContentType |
最后修改时间 | LastModified |
服务器 | Server |
作为返回来自 Internet 资源的响应的内容Stream通过调用GetResponseStream方法。
CharacterSet |
获取响应的字符集。 |
ContentEncoding |
获取用于对响应体进行编码的方法。 |
ContentLength |
获取请求返回的内容的长度。 |
ContentType |
获取响应的内容类型。 |
Cookies |
获取或设置与此响应关联的 Cookie。 |
Headers |
获取来自服务器的与此响应关联的标头。 |
IsFromCache |
获取一个 Boolean 值,该值指示此响应是否为从缓存中获取的。 (Inherited from WebResponse) |
IsMutuallyAuthenticated |
获取一个 Boolean 值,该值指示客户端和服务器是否都已经过身份验证。 |
LastModified |
获取最后一次修改响应内容的日期和时间。 |
Method |
获取用于返回响应的方法。 |
ProtocolVersion |
获取响应中使用的 HTTP 协议的版本。 |
ResponseUri |
获取响应请求的 Internet 资源的 URI。 |
Server |
获取发送响应的服务器的名称。 |
StatusCode |
获取响应的状态。 |
StatusDescription |
获取与响应一起返回的状态说明。 |
SupportsHeaders |
获取指示标头是否受支持的值。 |
Close() |
关闭响应流。 |
CreateObjRef(Type) |
创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (Inherited from MarshalByRefObject) |
Dispose() |
释放 WebResponse 对象使用的非托管资源。 (Inherited from WebResponse) |
Dispose(Boolean) |
释放由 HttpWebResponse 使用的非托管资源,并可根据需要释放托管资源。 |
Equals(Object) |
确定指定的对象是否等于当前对象。 (Inherited from Object) |
GetLifetimeService() |
检索控制此实例的生存期策略的当前生存期服务对象。 (Inherited from MarshalByRefObject) |
GetObjectData(SerializationInfo, StreamingContext) |
使用将目标对象序列化所需的数据填充 SerializationInfo。 |
GetResponseHeader(String) |
获取与响应一起返回的标头的内容。 |
GetResponseStream() |
获取流,该流用于读取来自服务器的响应的体。 |
GetType() |
获取当前实例的 Type。 (Inherited from Object) |
InitializeLifetimeService() |
获取生存期服务对象来控制此实例的生存期策略。 (Inherited from MarshalByRefObject) |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (Inherited from Object) |
MemberwiseClone(Boolean) |
创建当前 MarshalByRefObject 对象的浅表副本。 (Inherited from MarshalByRefObject) |
ToString() |
返回表示当前对象的字符串。 (Inherited from Object) |
成在管理,败在经验;嬴在选择,输在不学! 贵在坚持!
个人作品
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联系。共同交流、互相学习。
如果您觉得文章对您有帮助,请点击文章右下角【推荐】。您的鼓励是作者持续创作的最大动力!