解压缩gzip压缩的HTTP响应
我正在使用php的file_get_contents()
功能来执行HTTP请求。为了节省带宽,我决定使用添加"Accept-Encoding:
gzip"标题stream_context_create()
。
显然,file_get_contents()
输出一个gzip编码的字符串,所以我gzuncompress()
用来解码该编码的字符串,但是将作为参数传递的数据出错。
[...] PHP Warning: gzuncompress(): data error in /path/to/phpscript.php on line 26
我知道还有另一个功能可以解压缩压缩后的数据,gzdecode()
但是它不包含在我的PHP版本中(也许仅在SVN上可用)。
我知道cUrl可以即时解码gzip流(没有任何问题),但是有人建议我使用它file_get_contents()
而不是cUrl。
您是否知道以其他方式解压缩PHP中压缩的数据,或为什么gzuncompress()
输出警告?荒谬的是gzuncompress()
没有按预期工作。
注意:问题当然与PHP有关:HTTP请求是对Tumblr API发出的,它给出了编码正确的响应。
回答:
gzuncompress
不适用于gzip
编码。这是.Z
档案的解压缩功能。
手册列出了缺少的gzdecode()
#82930的一些解决方法,或者仅使用from中的一种upgradephp
或gzopen temp文件的解决方法。
另一种选择是强制deflate
使用Accept-
Encoding:标头进行编码,然后gzinflate()
用于解压缩。
以上是 解压缩gzip压缩的HTTP响应 的全部内容, 来源链接: utcz.com/qa/426036.html