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)是一种计算机编程架构.计算机程序由单个能够起到子程序作用的单元或对象组成,为 ...
随机推荐
- 基于Vue + axios + WebApi + NPOI导出Excel文件
一.前言 项目中前端采用的Element UI 框架, 远程数据请求,使用的是axios,后端接口框架采用的asp.net webapi,数据导出成Excel采用NPOI组件.其业务场景,主要是列表页 ...
- StringBuilder.sb.AppendLine();
StringBuilder sb=new StringBuilder(); sb.AppendLine("The world is fair and wonderful.Everything ...
- [基础] - 从xx语言是跨平台的说起
我经常碰到一些人在说xx语言跨平台而yy语言不是(为避免不必要的纷争,在此不写具体语言但不影响阅读),从而来表明自己使用xx语言进行程序开发进而在编程语言鄙视链上高高在上很有优越感. 大概是从Java ...
- JavaScript 数据类型转换表
下表显示了将不同的JavaScript值转换为Number,String和Boolean的结果: 原始值 转换为Number 转换为String 转换为Boolean false 0 "fa ...
- FCC-学习笔记 Spinal Tap Case
FCC-学习笔记 Spinal Tap Case 1>最近在学习和练习FCC的题目.这个真的比较的好,推荐给大家. 2>中文版的地址:https://www.freecodecamp. ...
- elasticsearch ik分词
elasticsearch 默认并不支持中文分词,默认将每个中文字切分为一个词,这明显不符合我们的业务要求.这里就需要用到ik分词插件. 本文主要囊括了以下几部分,ik插件安装.ik用法介绍.自定义词 ...
- AutoLayout的使用
虽然苹果提供了AutoresizingMask的布局方式,这个方式局限性太大:只能解决父控件和子控件间的相对关系: 因此,推出了AutoLayout:苹果官方也是推荐开发者尽量使用autolayout ...
- 【转载】CMake 两种变量原理
原文地址:https://cslam.cn/archives/c9f565b5.html 摘要: 本文记录一下 CMake 变量的定义.原理及其使用.CMake 变量包含 Normal Variabl ...
- 005-OpenStack-网络服务
OpenStack-网络服务 [基于此文章的环境]点我快速打开文章 1.控制节点(controller) 1.1 创库授权 neutron mysql CREATE DATABASE neutron; ...
- adb shell提示“adb server is out of date.” 解决方法
[问题描述] 1.打开运行:window+R,输入cmd回车 2.使用命令 adb shell 无法登录安卓设备,提示如下: adb server is out of date. killing.. ...