C# 之 HttpWebResponse类

时间:2023-03-09 22:50:36
C# 之 HttpWebResponse类

提供 WebResponse 类的 HTTP 特定的实现。

      继承层次结构 ,"System.Object→System.MarshalByRefObject→System.Net.WebResponse→System.Net.HttpWebResponse

命名空间: System.Net ;  程序集:System(在 System.dll 中)。

      C#语法
  [SerializableAttribute]
public class HttpWebResponse : WebResponse, ISerializable

HttpWebResponse 类型公开以下成员。

1、构造函数          
名称 说明
HttpWebResponse() 已过时。初始化 HttpWebResponse 类的新实例。
HttpWebResponse(SerializationInfo, StreamingContext) 已过时。根据指定的 SerializationInfo 和 StreamingContext 实例初始化 HttpWebResponse 类的新实例。
2、属性            
名称 说明
CharacterSet 获取响应的字符集。
ContentEncoding 获取用于对响应体进行编码的方法。
ContentLength 获取请求返回的内容的长度。 (重写 WebResponse.ContentLength。)
ContentType 获取响应的内容类型。 (重写 WebResponse.ContentType。)
Cookies 获取或设置与此响应关联的 Cookie。
Headers 获取来自服务器的与此响应关联的标头。 (重写 WebResponse.Headers。)
IsFromCache 获取一个 Boolean值,该值指示此响应是否为从缓存中获取的。 (继承自 WebResponse。)
IsMutuallyAuthenticated 获取一个 Boolean 值,该值指示客户端和服务器是否都已经过身份验证。 (重写 WebResponse.IsMutuallyAuthenticated。)
LastModified 获取最后一次修改响应内容的日期和时间。
Method 获取用于返回响应的方法。
ProtocolVersion 获取响应中使用的 HTTP 协议的版本。
ResponseUri 获取响应请求的 Internet 资源的 URI。 (重写 WebResponse.ResponseUri。)
Server 获取发送响应的服务器的名称。
StatusCode 获取响应的状态。
StatusDescription 获取与响应一起返回的状态说明。
SupportsHeaders 获取指示是否支持标题的值。 (重写 WebResponse.SupportsHeaders。)
3、方法    
名称 说明
Close 关闭响应流。 (重写 WebResponse.Close()。)
CreateObjRef 创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (继承自 MarshalByRefObject。)
Dispose() 释放 WebResponse 对象使用的非托管资源。 (继承自 WebResponse。)
Dispose(Boolean) 释放由 HttpWebResponse 使用的非托管资源,并可根据需要释放托管资源。 (重写 WebResponse.Dispose(Boolean)。)
Equals(Object) 确定指定的对象是否等于当前对象。 (继承自 Object。)
Finalize 允许对象在“垃圾回收”回收之前尝试释放资源并执行其他清理操作。 (继承自 Object。)
GetHashCode 作为默认哈希函数。 (继承自 Object。)
GetLifetimeService 检索控制此实例的生存期策略的当前生存期服务对象。 (继承自 MarshalByRefObject。)
GetObjectData 基础结构。使用将目标对象序列化所需的数据填充 SerializationInfo。 (重写 WebResponse.GetObjectData(SerializationInfo, StreamingContext)。)
GetResponseHeader 获取与响应一起返回的标头的内容。
GetResponseStream 获取流,该流用于读取来自服务器的响应的体。 (重写 WebResponse.GetResponseStream()。)
GetType 获取当前实例的 Type。 (继承自 Object。)
InitializeLifetimeService 获取控制此实例的生存期策略的生存期服务对象。 (继承自 MarshalByRefObject。)
MemberwiseClone() 创建当前 Object 的浅表副本。 (继承自 Object。)
MemberwiseClone(Boolean) 创建当前 MarshalByRefObject 对象的浅表副本。 (继承自 MarshalByRefObject。)
ToString 返回表示当前对象的字符串。 (继承自 Object。)
4、显式接口实现
名称 说明
IDisposable.Dispose 基础结构。当在派生类中被重写时,释放 WebResponse 使用的所有资源。 (继承自 WebResponse。)
ISerializable.GetObjectData 基础结构。将此实例序列化到指定的 SerializationInfo 对象中。
5、备注
      此类包含对 WebResponse 类中的属性和方法的 HTTP 特定用法的支持。  HttpWebResponse   类用于生成发送 HTTP 请求和接收 HTTP 响应的 HTTP 独立客户端应用程序。 
C# 之 HttpWebResponse类说明

不要混淆 HttpWebResponse 和 HttpResponse 类;后者用于 ASP.NET 应用程序,而且它的方法和属性是通过 ASP.NET 的内部 Response 对象公开的。

决不要直接创建 HttpWebResponse 类的实例。  而应当使用通过调用 HttpWebRequest.GetResponse 所返回的实例。  您必须调用 Stream.Close 方法或 HttpWebResponse.Close 方法来关闭响应并将连接释放出来供重用。  不必同时调用 Stream.Close 和 HttpWebResponse.Close,但这样做不会导致错误。

从 Internet 资源返回的公共标头信息公开为该类的属性。  有关完整的列表,请参见下表。  可以从 Headers 属性以名称/值对的形式读取其他标头。

下表显示可以通过 HttpWebResponse 类的属性使用的公共 HTTP 标头。

Header

Property

内容编码

ContentEncoding

Content-Length

ContentLength

Content-Type

ContentType

上次修改时间

LastModified

服务器

Server

通过调用 GetResponseStream 方法,以 Stream 的形式返回来自 Internet 资源的响应的内容。

6、示例
HttpWebRequest HttpWReq =
(HttpWebRequest)WebRequest.Create("http://www.contoso.com"); HttpWebResponse HttpWResp = (HttpWebResponse)HttpWReq.GetResponse();
// Insert code that uses the response object.
HttpWResp.Close();