【问题标题】:Server can't determine the length of this raw HTTP message服务器无法确定此原始 HTTP 消息的长度
【发布时间】: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


    【解决方案1】:

    值应为十六进制 36 → 24

    【讨论】:

      猜你喜欢
      • 2021-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-09
      • 1970-01-01
      • 1970-01-01
      • 2016-02-12
      • 1970-01-01
      相关资源
      最近更新 更多