php curl,检测响应是否为gzip

时间:2010-11-25 23:57:23

标签: php curl gzip

我正在使用curl从许多网站获取数据。有时他们会发回gzip。如何检测响应是否是gzip?

2 个答案:

答案 0 :(得分:5)

BTW,如果你设置:

CURLOPT_ENCODING => '',

CURL会自动为您解码数据。

答案 1 :(得分:3)

curl_setopt($curl, CURLOPT_HEADER, true);

curl_exec的结果将包含HTTP响应中的标头,您可以解析它以查看是否已对其进行了压缩。

gzipped响应就像这样:

HTTP/1.1 200 OK
Server: Apache
Content-Type: text/html
Content-Encoding: gzip
Content-Length: 26395

[GZIP COMPRESSED DATA]

因此,您可以先将响应分解为标题和内容,然后解析标题以查看它是否说明了gzip编码内容。