How can I read GZIP-ed response from Stackoverflow API in PHP?

A cool way
http://www.php.net/manual/en/wrappers.compression.php

Notice the use of a stream wrapper, 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"))));

or using curl

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

edited–
other methods removed because they don’t send an Accept-Encoding http header.

Leave a Comment