Php 服务器有时返回分块传输编码

Php 服务器有时返回分块传输编码,php,api,Php,Api,我正在构建一个RESTAPI。。有时,服务器返回带有分块传输编码的响应?为什么 为什么服务器不能总是以相同的编码返回响应 问题是,当数据以分块形式返回时,我不知道如何读取数据 更新 neeed moore投了反对票。。。为了避免…假设您的服务器使用Apache,这是预期的行为。您可以通过将此行放入.htaccess文件来禁用它: SetEnv downgrade-1.0 但是,你应该考虑修改你的阅读代码来支持不同的内容编码。您使用哪个库发出HTTP请求?任何合理的HTTP库都可以处理分块请求。

我正在构建一个RESTAPI。。有时,服务器返回带有分块传输编码的响应?为什么

为什么服务器不能总是以相同的编码返回响应

问题是,当数据以分块形式返回时,我不知道如何读取数据

更新
neeed moore投了反对票。。。为了避免…

假设您的服务器使用Apache,这是预期的行为。您可以通过将此行放入
.htaccess
文件来禁用它:

SetEnv downgrade-1.0

但是,你应该考虑修改你的阅读代码来支持不同的内容编码。您使用哪个库发出HTTP请求?任何合理的HTTP库都可以处理分块请求。如果您的请求代码是用PHP编写的,请使用curl

问题可能是Apache正在压缩您的下载,负责更正内容长度,或者在您的情况下,添加标题

内容编码:分块

您可以添加
.htaccess
重写规则以禁用gzip:

RewriteRule . - [E=no-gzip:1]
摘自:

  • 指定“Content Length”标头,以便服务器知道响应的大小
  • 在请求方使用HTTP 1.0

  • 你有任何示例代码吗?很难告诉你看不出发生了什么是错误的。我不能显示任何代码。我需要知道为什么服务器有时返回带有分块编码的响应。为什么服务器同时返回内容长度响应和分块响应?