读取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

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

string fullRoad = Configuration.MessageFileDownLoad + road;                     string fileName = Pa...
  • yindubing
  • yindubing
  • 2017年01月20日 10:54
  • 1414

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

参考文章 http://www.cnblogs.com/cresuccess/archive/2009/12/09/1619977.html 第一种异常:WebException: 服务器提...
  • atceedsun
  • atceedsun
  • 2015年04月03日 15:36
  • 6911

C#Post方法GetResponse抛出异常获取不到返回

先描述一下问题产生,对接某公司程序时,由于返回请求错误,对方服务器返回400,415,等错误,然而这种异常内包含某些对方返回的信息,普通的如果post方法内未进行Response的异常处理,那么恭喜你...
  • fuzhenglai
  • fuzhenglai
  • 2017年07月04日 10:24
  • 600

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

C#利用HttpWebRequest,Stream,HttpWebResponse,StreamReader获取post返回的数据
  • Canonzki
  • Canonzki
  • 2016年07月27日 17:36
  • 2831

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

参考文章 http://www.cnblogs.com/cresuccess/archive/2009/12/09/1619977.html 第一种异常:WebException: 服务器提...
  • atceedsun
  • atceedsun
  • 2015年04月03日 15:36
  • 6911

C#Post方法GetResponse抛出异常获取不到返回

先描述一下问题产生,对接某公司程序时,由于返回请求错误,对方服务器返回400,415,等错误,然而这种异常内包含某些对方返回的信息,普通的如果post方法内未进行Response的异常处理,那么恭喜你...
  • fuzhenglai
  • fuzhenglai
  • 2017年07月04日 10:24
  • 600

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

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

HttpWebResponse发送post请求并接收

HttpWebResponse发送post请求并接收 1:HttpWebResponse 发送POST请求         #region 发送请求         ///     ...
  • wangyonghua8
  • wangyonghua8
  • 2013年12月30日 11:00
  • 2179

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

这个类是专门为HTTP的GET和POST请求写的,解决了编码,证书,自动带Cookie等问题。 C# HttpHelper,帮助类,真正的Httprequest请求时无视编码,无视证书,无视Cook...
  • u012355740
  • u012355740
  • 2014年10月29日 12:12
  • 1731

转 c# HttpWebRequest与HttpWebResponse请求网页和返回网页教程

如果要使用中间的方法的话,可以访问我的帮助类完全免费开源:C# HttpHelper,帮助类,真正的Httprequest请求时无视编码,无视证书,无视Cookie,网页抓取 1.第一招,根据U...
  • yourname386
  • yourname386
  • 2014年05月06日 08:54
  • 1532
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:读取HttpWebResponse流的两种方法及注意的问题
举报原因:
原因补充:

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