php curl, определить ответ gzip или нет - PullRequest
3 голосов
/ 26 ноября 2010

Я использую curl для получения данных со многих веб-сайтов. Иногда они отправляют обратно gzip. Как обнаружить ответ gzip или нет?

Ответы [ 2 ]

5 голосов
/ 13 мая 2013

Кстати, если вы установите:

CURLOPT_ENCODING => '',

CURL автоматически расшифрует данные для вас.

3 голосов
/ 26 ноября 2010
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 контенте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...