![]() |
1
3
还没有尝试过用“块状”的回答,但像这样的工作吗?
|
![]() |
2
1
我正在研究一个类似的问题。.NET httpwebrequest和httpwebrequest自动处理cookie和重定向,但它们不会自动处理响应主体上的分块内容。 这可能是因为分块的内容可能包含不止简单的数据(例如:块名称、尾随的头)。 仅仅读取流并忽略EOF异常将无法工作,因为流包含的内容超过了所需的内容。流将包含块,每个块以声明其大小开始。如果只是从头到尾读取流,则最终数据将包含块元数据(如果是gzip内容,则在解压缩时将无法通过CRC检查)。 为了解决这个问题,需要手动解析流,从每个块中删除块大小(以及CR LF分隔符),检测最后的块并只保留块数据。很可能有一个图书馆在那里做这个,我还没有找到它。 有用资源: http://en.wikipedia.org/wiki/Chunked_transfer_encoding http://tools.ietf.org/html/rfc2616#section-3.6.1 |
![]() |
3
-1
Craig,如果没有看到您正在读取的流,调试起来有点困难,但是您可以将count变量的设置更改为:
这是一个有点黑客,但如果最后一次读取是杀了你,它没有返回任何数据,那么理论上这将避免这个问题。我仍然想知道为什么小溪会这样做。 |
![]() |
4
-1
我也有同样的问题(我就是这样结束的:—)。最终跟踪到块流无效这一事实——最后的零长度块丢失了。我想出了以下代码来处理有效和无效的分块流。
|
![]() |
msoft · 串行端口。GetPortNames()返回错误的端口名 9 年前 |
![]() |
QuangND · 查找准确位置,然后插入或添加,然后排序?哪个更好? 11 年前 |
![]() |
Kidades · 如何将一个文本文件的内容复制到另一个缩短长度的文本文件? 11 年前 |
![]() |
Kidades · 如何在Win XP中使应用程序静音? 11 年前 |
![]() |
Sunkas · 在.net 2.0中从后台调用UI线程上的方法 12 年前 |
![]() |
linquize · 委托BeginInvoke是否需要清理? 12 年前 |