【问题标题】:php curl, detect response is gzip or notphp curl,检测响应是否为gzip
【发布时间】:2010-11-25 23:57:23
【问题描述】:

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

【问题讨论】:

标签: php curl gzip


【解决方案1】:

顺便说一句,如果你设置:

CURLOPT_ENCODING => '',

CURL 会自动为您解码数据。

【讨论】:

    【解决方案2】:
    curl_setopt($curl, CURLOPT_HEADER, true);
    

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

    压缩后的响应是这样的:

    HTTP/1.1 200 OK
    Server: Apache
    Content-Type: text/html
    Content-Encoding: gzip
    Content-Length: 26395
    
    [GZIP COMPRESSED DATA]
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-11-02
      • 2011-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多