【发布时间】:2012-08-08 00:32:46
【问题描述】:
我正在尝试使用 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'之后有2xCRLF,所以最后5个字节是:0x30, 0x0D, 0x0A, 0x0D, 0x0A。
我已尝试将此请求发送到本地 Apache 服务器和 PHP5.4 的内置测试服务器。两者都无法确定请求已完成,执行挂起,直到套接字超时。
【问题讨论】:
标签: php http post chunked-encoding