当前位置:  开发笔记 > 编程语言 > 正文

使用HttpWebResponse读取"chunked"响应

如何解决《使用HttpWebResponse读取"chunked"响应》经验,为你挑选了0个好方法。

使用StreamReader读取HttpWebResponse的GetResponseStream()返回的流时,我无法读取"chunked"响应:

// response is an HttpWebResponse
StreamReader reader = new StreamReader(response.GetResponseStream());
string output = reader.ReadToEnd(); // throws exception...

reader.ReadToEnd()调用该方法时,我得到以下System.IO.IOException:无法从传输连接读取数据:连接已关闭.

当服务器返回"非分块"响应时,上面的代码工作得很好.

我能够让它工作的唯一方法是使用HTTP/1.0作为初始请求(而不是默认的HTTP/1.1),但这似乎是一种蹩脚的解决方法.

有任何想法吗?


@Chuck

你的解决方案非常好用.它仍然在最后一个Read()上抛出相同的IOExeception.但在检查StringBuilder的内容后,看起来已经收到了所有数据.所以也许我只需要在try-catch中包装Read()并吞下"错误".

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有