卷曲矮胖解析错误

问题描述:

卷曲矮胖解析错误

我不能为我的生活中找到什么卷曲“问题3”是指“在矮胖解析器接收问题3”。我确定它与我从应用服务器发出的大块的卷曲格式有关,但我无法弄清楚这个块有什么问题,因为我不知道“问题3”是什么。

任何想法?

+0

如果您需要帮助,更多细节将是一个好主意。 – flesk 2012-01-27 13:48:25

您看到的编号是来自libcurl源代码中lib/http_chunks.h的CHUNKcode枚举中的CHUNKE_BAD_CHUNK。给出一个快速的样子,它似乎主要用于分块数据中缺少CR或LF的情况。

我建议您调查原始HTTP内容流,以查看分块格式的问题。 RFC2616 section 3.6.1文件。

+0

我最终通过阅读关于分块编码(http://en.wikipedia.org/wiki/Chunked_transfer_encoding)的*文章,一些试验和错误以及Wireshark来追踪它。问题原来是因为我使用了字符串的长度,但实际写入的响应缓冲区大于原始字符串,因此它包含了几个八位字节的空值,导致我的计数和实际八位字节不同。 – 2012-01-31 01:17:06

有一个类似的职位给你。我还是那句话我不知道对面,所以我不能指出问题你的努力仙但必须看看这个,

Why is this warning being shown: "Received problem 2 in the chunky parser"?

希望这有助于!

所以,我用CGI程序来解决这个问题。

长话短说,CGI脚本使用Python,以及使用该字符串的长度的打印块头部,然后使用发送到客户端是:

print data, 

此附加的空间,从而使数据的一个字节比块标题长。

stdout.write(data) 

数据的hexdump都出了CGI脚本的是,最后告诉我发生了什么事的工具:我改变该行固定这一点。