我正在构建一个 REST API .. 有时服务器会返回带有分块传输编码的响应?这是为什么?!
为什么服务器不能总是以相同的编码返回响应?
问题是当数据以分块形式返回时,我不知道如何读取数据!?
更新
需要moore downvotes...才能呼吸...
假设您的服务器使用的是 Apache,这是预期的行为。您可以通过将此行放入.htaccess
文件中来禁用它:
SetEnv downgrade-1.0
但是,您应该考虑修改阅读代码以仅支持不同的内容编码。您使用什么库来发出 HTTP 请求?任何合理的 HTTP 库都可以处理分块请求。如果您的请求代码是用 PHP 编写的,请使用 curl。http://php.net/manual/en/book.curl.php
取自服务器故障:
一个问题可能是 Apache 正在压缩您的下载,负责更正 Content-Length,或者在您的情况下,添加标题
内容编码:分块
您可以添加一个.htaccess
RewriteRule 来禁用 gzip:
RewriteRule . - [E=no-gzip:1]