C# HTTP系列2 HttpWebReponse类
System.Net.HttpWebReponse 类提供 WebResponse 类的特定于HTTP的实现。
例子
下面的示例返回一个从HttpWebRequest 对象返回的 HttpWebResponse对象。
HttpWebRequest httpWReq = ebRequest.Create("http://www.baidu.com") as HttpWebRequest; HttpWebResponse httpWResp = httpWReq.GetResponse() as HttpWebResponse;
if(httpWResp!=null)
{
// 其他业务逻辑 httpWResp.Close();
}
备注
此类包含对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) |
C# HTTP系列2 HttpWebReponse类的更多相关文章
- Java基础复习笔记系列 五 常用类
Java基础复习笔记系列之 常用类 1.String类介绍. 首先看类所属的包:java.lang.String类. 再看它的构造方法: 2. String s1 = “hello”: String ...
- c/c++ 模板与STL小例子系列<二> 模板类与友元函数
c/c++ 模板与STL小例子系列 模板类与友元函数 比如某个类是个模板类D,有个需求是需要重载D的operator<<函数,这时就需要用到友元. 实现这样的友元需要3个必要步骤 1,在模 ...
- Java JUC之Atomic系列12大类实例讲解和原理分解
Java JUC之Atomic系列12大类实例讲解和原理分解 2013-02-21 0个评论 作者:xieyuooo 收藏 我要投稿 在java6以后我们不但接触到了Loc ...
- Hibernate 系列 05 - Session 类
引导目录: Hibernate 系列教程 目录 前言: Session是Hibernate运作的中心,对象的生命周期.事务的管理.数据库的存取都与Session息息相关. 就如同在编写JDBC时需要关 ...
- JVM系列文章(四):类载入机制
作为一个程序猿,只知道怎么用是远远不够的. 起码,你须要知道为什么能够这么用.即我们所谓底层的东西. 那究竟什么是底层呢?我认为这不能一概而论.以我如今的知识水平而言:对于Web开发人员,TCP/IP ...
- C# HTTP系列1 HttpWebRequest类
系列目录 [已更新最新开发文章,点击查看详细] .NET Framework 中 System.Net 命名空间下提供了 HttpWebRequest 和 HttpWebResponse 2个 ...
- dagger2系列之生成类实例
上一节的最后,我讲到一次注入生成类实例的生成步骤.先来回顾一下: 1 Module中存在创建方法,则看此创建方法有没有参数 如果有参数,这些参数也是由Component提供的,返回步骤1逐一生成参数 ...
- jvm系列(一):java类的加载机制
java类的加载机制 1.什么是类的加载 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数据区的方法区内,然后在堆区创建一个java.lang.Class对象,用来封装 ...
- 前端学PHP之面向对象系列第一篇——类和对象
× 目录 [1]类 [2]成员属性[3]成员方法[4]对象[5]成员访问[6]this 前面的话 面向对象程序设计(OOP)是一种计算机编程架构.计算机程序由单个能够起到子程序作用的单元或对象组成,为 ...
随机推荐
- Knative 实践:从源代码到服务的自动化部署
通过之前的文章,相信大家已经熟悉了 Serving.Eventing 以及 Tekton.那么在实际使用中,我们往往会遇到一些复杂的场景,这时候就需要各个组件之间进行协作处理.例如我们提交源代码之后是 ...
- Vue基础框架
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <!-- 设置语言为 ...
- Windows Service 服务搭配FluentScheduler实现定时任务调度
Windows Service 服务 创建Windows Service 项目 创建一个Windows Service项目,并将项目名称改为 TaskWindowService 在解决方案资源管理器内 ...
- 你不知道的Golang map
在开发过程中,map是必不可少的数据结构,在Golang中,使用map或多或少会遇到与其他语言不一样的体验,比如访问不存在的元素会返回其类型的空值.map的大小究竟是多少,为什么会报"can ...
- Java学习——注解
Java学习——注解 摘要:本文主要介绍了Java开发常用的注解,以及如何自定义注解. 部分内容来自以下博客: https://www.cnblogs.com/Qian123/p/5256084.ht ...
- 深入浅出《设计模式》之工厂模式(C++)
前言 模式介绍 在之前简单工厂模式中,我们介绍了简单工厂模式的缺陷是违背了开放-封闭原则.如果在面馆中添加了烤海参,那将会修改waiter工厂类.违背了类内封闭原则. 还以面馆为例,现在两种面,用一个 ...
- Dikstra 堆优化板子
#include <bits/stdc++.h> #define MAXN 10005 using namespace std; typedef long long LL; vector& ...
- react-custom-scrollbars的使用
react-custom-scrollbars的作用 流畅的本机浏览器滚动 移动设备的本机滚动条 完全可定制 自动隐藏 自动高度 通用(在客户端和服务器上运行) requestAnimationFra ...
- Java foreach循环
foreach循环:增强性的for循环应用: 在for语句中,需要使用索引来进行操作具体的数组或集合内容操作:而foreach可以取消索引的操作细节: for ( 类型 变量 : 数组 | 集合 ) ...
- vue国际化问题i18n为null
1.vue的国际化关于使用请看这位大佬的文章https://segmentfault.com/a/1190000015008808 2.this指向问题https://segmentfault.com ...