使用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()并吞下"错误".