Как я могу прочитать ответ GZIP-ed от API Stackoverflow в PHP?

Как я могу прочитать ответ API-интерфейса Stackoverflow в PHP? Ответ – GZIP-ed. Я нашел, например, следующее предложение:

$url = "http://api.stackoverflow.com/1.1/questions/" . $question_id; $data = file_get_contents($url); $data = http_inflate($data); 

но функция http_inflate() недоступна при установке, которую я использую.

Есть ли еще какие-то другие способы сделать это?

Solutions Collecting From Web of "Как я могу прочитать ответ GZIP-ed от API Stackoverflow в PHP?"

Крутой способ http://www.php.net/manual/en/wrappers.compression.php

Обратите внимание на использование обтекателя потока, compress.zlib

 $url = "compress.zlib://http://api.stackoverflow.com/1.1/questions/" . $question_id; echo $data = file_get_contents($url, false, stream_context_create(array('http'=>array('header'=>"Accept-Encoding: gzip\r\n")))); 

или с помощью завитка

 $ch = curl_init(); curl_setopt_array($ch, array( CURLOPT_URL => $url , CURLOPT_HEADER => 0 , CURLOPT_RETURNTRANSFER => 1 , CURLOPT_ENCODING => 'gzip' )); echo curl_exec($ch); 

отредактирован – удалены другие методы, поскольку они не отправляют HTTP-заголовок Accept-Encoding .