2014-02-27 1 views
1

http://api.stackoverflow.com/1.1/search?tagged=php에서 데이터를 가져 오려고합니다.스택 Exchange API에서 데이터를 가져올 수 없습니다.

$url = "http://api.stackoverflow.com/1.1/search?tagged=php"; 
$json = file_get_contents($url); 
$json_data = json_decode($json, true); 
print_r($json); 

를하지만 나에게 아무것도 표시되지 않습니다 :

는 내가 API에서 데이터를 가져 오기 위해이 코드를 사용하고 있습니다. 나는 또한 컬을 사용하여 데이터를 얻었지만 아무 것도 보여주지 않습니다. 왜 나에게 아무 것도 보여주지 않는데 왜 그걸 고칠 수 있니?

+0

당신은 무엇을 어떻게해야합니까? – snollygolly

답변

3

응답으로 gzipped 콘텐츠를 반환하고 있습니다. 그래서 json 디코딩에서 작동하지 않습니다. 다음은 동등한 컬 요청입니다.

응답이 gzip으로 압축되어
$url= "http://api.stackoverflow.com/1.1/search?tagged=php"; 
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL,$url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
curl_setopt($ch, CURLOPT_ENCODING, ""); // this will handle gzip content 
$result = curl_exec($ch); 
curl_close($ch); 
print $result; 
// do json processing here 
+1

몇 초 만에 나를 이길 :)하지만 나는 이것이 작동하는지 확인할 수 있습니다. –

1

, gzdecode 사용 링크를 클릭하면

$url = "http://api.stackoverflow.com/1.1/search?tagged=php"; 
$json = file_get_contents($url); 
$json_data = json_decode(gzdecode($json), true); 
print_r($json);