HttpWebResponse类
HttpWebResponse类的作用用于在客户端获取返回的响应的信息,还记得HttpResponse类吗?你是否在写B/S程序的时候,经常用到Response.Write()呢?
HttpResponse用于在服务器端设置服务端的响应信息,而HttpWebResponse类用于客户端获取服务器端返回的响应信息。这个类还是比较简单,还是可以照着以前的MSDN全部写一遍。
一、属性
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 获取与响应一起返回的状态说明。

static void Main(string[] args)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://www.baidu.com"); //创建一个请求示例
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Console.WriteLine(response.CharacterSet); //输出 utf-8
Console.WriteLine(response.ContentEncoding); //空
Console.WriteLine(response.ContentLength); //输出 10310
Console.WriteLine(response.ContentType); //输出 text/html charset=utf-8 CookieCollection cc = response.Cookies;
Console.WriteLine(cc.Count); //输出 0 WebHeaderCollection whc = response.Headers;
Console.WriteLine(whc.Count); //输出 9
foreach (string h in whc.AllKeys)
{
Console.WriteLine(h.ToString() + " " + whc[h].ToString()); //输出所有的响应头信息
} Console.WriteLine(response.IsFromCache); //输出 false 该值指示响应是否从缓存获取的
Console.WriteLine(response.IsMutuallyAuthenticated); //输出 false 客户端和服务器端都已通过身份认证
Console.WriteLine(response.LastModified); //输出 2013-04-06 21:03:06 最后一次修改响应的时间和日期
Console.WriteLine(response.Method); //输出 Get 返回响应的方法
Console.WriteLine(response.ProtocolVersion); //输出 1.1 响应的HTTP协议的版本
Console.WriteLine(response.ResponseUri); //输出 http://www.baidu.com 响应请求的Interner资源的URI
Console.WriteLine(response.Server); //输出 BWS/1.0 发送响应的服务器的名称
Console.WriteLine(response.StatusCode); //输出 OK 获取响应的状态,这个不是状态码,而是状态描述,为什么不是200呢,奇怪啊,测试了好几个网站都是OK,而不是200
Console.WriteLine(response.StatusDescription); //输出 OK 这个是状态描述, Console.ReadKey();
}

二、方法
Close 关闭响应流。 (重写 WebResponse..::.Close()()()。)
CreateObjRef 创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (继承自 MarshalByRefObject。)
Dispose 释放由 HttpWebResponse 使用的非托管资源,并可根据需要释放托管资源。
GetLifetimeService 检索控制此实例的生存期策略的当前生存期服务对象。 (继承自 MarshalByRefObject。)
GetObjectData 基础结构。 使用将目标对象序列化所需的数据填充 SerializationInfo。 (重写 WebResponse..::.GetObjectData(SerializationInfo, StreamingContext)。)
GetResponseHeader 获取与响应一起返回的标头的内容。
GetResponseStream 获取流,该流用于读取来自服务器的响应的体。 (重写 WebResponse..::.GetResponseStream()()()。)
InitializeLifetimeService 获取控制此实例的生存期策略的生存期服务对象。 (继承自 MarshalByRefObject。)

class Program
{
static void Main(string[] args)
{
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://www.baidu.com"); //创建一个请求示例
HttpWebResponse response = (HttpWebResponse)request.GetResponse(); Console.WriteLine(response.GetResponseHeader("Content-Type")); //输出 text/html;charset=utf-8
Stream stream = response.GetResponseStream(); //获取响应的字符串流
StreamReader sr = new StreamReader(stream); //创建一个stream读取流
string html = sr.ReadToEnd(); //从头读到尾,放到字符串html李米
Console.WriteLine(html); //输出首页HTML代码 Console.ReadKey();
}
}

基本就这么多东西了。
HttpWebResponse类的更多相关文章
- C# 之 HttpWebResponse类
提供 WebResponse 类的 HTTP 特定的实现. 继承层次结构 ,"System.Object→System.MarshalByRefObject→System.Net ...
- Asp.Net中的HttpWebRequest类与HttpWebResponse类
相关博文:https://www.cnblogs.com/xu-yi/p/10061342.html 相关博文:https://www.cnblogs.com/zoujinhua/p/11313396 ...
- ASP.NET HttpWebRequest和HttpWebResponse
HttpWebRequest和HttpWebResponse类是用于发送和接收HTTP数据的最好选择.它们支持一系列有用的属性. 模拟艺龙旅游网登录 想模拟登录,首先整理一下流程 1.通过360浏览器 ...
- HttpWebRequest类之基本定义
HttpWebRequest和HttpWebResponse类是用于发送和接收HTTP数据的最好选择.它们支持一系列有用的属性.这两个类位 于System.Net命名空间,默认情况下这个类对于控制台程 ...
- C# HTTP系列 HttpWebRequest 与 HttpWebResponse
HTTP协议,即超文本传输协议(Hypertext transfer protocol).是一种详细规定了浏览器和万维网(WWW = World Wide Web)服务器之间互相通信的规则,通过因特网 ...
- C# HTTP系列2 HttpWebReponse类
系列目录 [已更新最新开发文章,点击查看详细] System.Net.HttpWebReponse 类提供 WebResponse 类的特定于HTTP的实现. 例子 下面的示例返回一个从Htt ...
- Java类的继承与多态特性-入门笔记
相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...
- 利用HttpWebRequest实现实体对象的上传
一 简介 HttpWebRequest和HttpWebResponse类是用于发送和接收HTTP数据的最好选择.它们支持一系列有用的属性.这两个类位 于System.Net命名空间,默认情况下这个类对 ...
- C#的HTTP协议中POST与GET的区别
引言 HTTP协议我想任何IT人士都耳熟能详了,大家都能说出个所以然来.但是如果我问你HTTP协议的请求方法有哪些?POST与GET的差异?GET或POST传送数据量的大小有限制吗?HTTP响应的状态 ...
随机推荐
- Powershell变量的幕后管理
Powershell变量的幕后管理 513 12月, 2011 在 Powershell tagged 变量 / 类型 by Mooser Lee本文索引[隐藏]1修改变量的选项设置2激活变量的写 ...
- Ubuntu 16.04 LTS 正式发布:系统将持续更新5年
Canonical 刚刚正式发布了Ubuntu 16.04 LTS (Xenial Xerus),这是一个长期支持版本,官方会提供长达5年的技术支持(包括常规更新/Bug修复/安全升级),一直到202 ...
- Binary Search Tree BST Template
Use one queue + size variable public class Solution { public ArrayList<ArrayList<Integer>&g ...
- IOS上 关于状态栏的相关设置(UIStatusBar)
知识普及 ios上状态栏 就是指的最上面的20像素高的部分 状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是指的显示电池.时间等部分: 背景部分:就是显示黑色或者图片的背景部分: 如 ...
- linux ssh-keygen
用ssh client 客户端 远程登录服务器,避免每次都得输入密码: 解决方法: ssh-keygen 复制 id_rsa.pub 中的内容 到 远程连接的服务器的~/.ssh/authorize ...
- UIProgressView-初识IOS
好几天没更新了,学的时候太紧,没时间复习了都.今天刚好有时间,多更几个. 今天复习的是UIProgressView,我们常见使用在修改某些属性的时候经常用到,比如透明度,今天我们介绍一个简单的使用例子 ...
- java 中Date的格式化样式
public static void main(String[] args) { Date d = new Date(); System.out.println(d); // Date类的默认格式 T ...
- EffectiveC#02--仅在对基类进行强制更新时才使用new修饰符
1.建议避免使用new修饰符来重新定义非虚函数. 非虚方法是静态绑定的,不管哪里的代码也不管在哪里引用, 它总是严格的调用类中所定义的函数.并不会在运行时在 派生类中查找不同的版本. 2.何时使用ne ...
- android——仿微拍贷滑动圆形菜单
一次偶然机会接触到微拍贷的app,瞬间被其圆形可滑动菜单吸引了.一直琢磨着给弄出来. 现在弄出来了.先看看效果吧 如果你也喜欢这个菜单.去我的github找源码吧.太忙了.没时间贴代码和讲解了. ht ...
- 公司项目笔记-导出excel
一.asp.net中导出Excel的方法: 在asp.net中导出Excel有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上:一种是将文件直接将文件输出流写给浏览 ...