读取HttpWebResponse流的两种方法及注意的问题

转载 2012年03月27日 10:39:57

1.  获取流

     HttpWebRequest request= (HttpWebRequest)WebRequest.Create(uri); //构建http request
    
request.Method = "get";
     HttpWebResponse response = (HttpWebResponse)hwr.GetResponse();    //发出请求并获得Response
     resStream = response.GetResponseStream();          //获得Response的流

2. 读
1).  第一种方式:
     
 int count = (int)response.ContentLength;
                int offset = 0;
                buf = new byte[count];
                while (count > 0)
                {
                    int n = resStream.Read(buf,offset,count);
                    if (n == 0) break;
                    count -= n;
                    offset += n;
                    Console.WriteLine( "in loop " + getString(buf) ); //测试循环次数
                }
     string content = Encoding.Default.GetString(buf, 0, buf.Length);

     必须循环读流, 不能一次读(resStream.Read(buf,0,count); ), 否则读的流可能不完整

2) 第二种方式://用StreamReader读取流
     string content = "";

     using (StreamReader  sr = new StreamReader(resStream))     
     {
          content = sr.ReadToEnd();
     }

http://www.cnblogs.com/whzncut/archive/2008/11/20/1337851.html

相关文章推荐

HttpWebRequest.GetResponse出异常时的解决办法

参考文章 http://www.cnblogs.com/cresuccess/archive/2009/12/09/1619977.html 第一种异常:WebException: 服务器提...

网络流不支持查询长度,处理方法GetResponseStream

string fullRoad = Configuration.MessageFileDownLoad + road;                     string fileName = Pa...

C# 流不可读 解决办法

C# 流不可读 解决办法
  • wyx100
  • wyx100
  • 2015年01月04日 10:03
  • 4138

C#利用HttpWebRequest,Stream,HttpWebResponse,StreamReader获取post返回的数据

C#利用HttpWebRequest,Stream,HttpWebResponse,StreamReader获取post返回的数据

HttpWebRequest的GetResponse或GetRequestStream偶尔超时 + 总结各种超时死掉的可能和相应的解决办法

【问题】 用C#模拟网页登陆,其中去请求几个页面,会发起对应的http的请求request,其中keepAlive设置为true,提交请求后,然后会有对应的response: resp =...

莫名其妙的 C# HttpWebRequest.GetResponse() 超时错误

作者:Liigo 日期:20170303 原创链接: 著作权归作者Liigo所有。商业转载请联系作者获得授权,非商业转载请注明出处。现象现象:GET请求 “特定URL” 时超时,无法获取Resp...
  • liigo
  • liigo
  • 2017年03月03日 18:03
  • 3451

WinCE6.0流驱动开发的两种方法及驱动加载失败问题解决

WinCE6.0流驱动开发的两种方法及驱动加载失败问题解决 2011-06-08 09:06:34 标签:驱动加载WinCE6.0驱动 流驱动开发 原创作品,允许转载,转载时...

C#中网页文件下载——HttpWebRequest与HttpWebResponse的使用方法

这个类是专门为HTTP的GET和POST请求写的,解决了编码,证书,自动带Cookie等问题。 C# HttpHelper,帮助类,真正的Httprequest请求时无视编码,无视证书,无视Cook...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:读取HttpWebResponse流的两种方法及注意的问题
举报原因:
原因补充:

(最多只允许输入30个字)