服务器无法确定此原始HTTP消息的长度

时间:2012-08-08 00:32:47

标签: php http post chunked-encoding

我正在尝试使用PHP中的套接字将分块的POST数据流式传输到本地服务器进行测试。如果我不对请求实体主体进行分块并提供Content-Length头,则此方法可以正常工作。

但是,当我按如下方式对传输进行分块时,服务器无法识别消息的结尾。下面的原始消息有什么问题阻止服务器正确识别消息是否完整?

POST / HTTP/1.1
HOST: localhost
CONTENT-TYPE: text/plain
USER-AGENT: testing
ACCEPT-ENCODING: gzip,deflate,identity
TRANSFER-ENCODING: chunked

36
When in the chronicle of wasted time
0

在最后'0'之后有2x CRLF,所以最后5个字节是:0x30, 0x0D, 0x0A, 0x0D, 0x0A

我已经尝试将此请求发送到本地Apache服务器和PHP5.4的内置测试服务器。两者都无法确定请求是否已完成,并且执行会挂起,直到套接字超时。

1 个答案:

答案 0 :(得分:5)

该值应为十六进制36→24