Stack Exchange API cURL

时间:2012-12-08 21:20:08

标签: php curl stackexchange-api

我正在尝试将cURL与Stack Exchange API一起使用,但我似乎得到了一个空响应,对正在发生的事情的任何想法?

我的代码是:

function get($get){
        $ch = curl_init("http://api.stackoverflow.com/1.1/search?intitle=meteor");

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch,CURLOPT_ENCODING , "gzip");
        $decoded =  json_decode(curl_exec($ch), true);

        var_dump($decoded->questions[0]->title);
}

get("stackoverflow");

2 个答案:

答案 0 :(得分:1)

$decoded是一个数组,因此您可以像这样使用它:

function get($get){
        $ch = curl_init("http://api.stackoverflow.com/1.1/search?intitle=$get");

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        curl_setopt($ch,CURLOPT_ENCODING , "gzip");
        $decoded =  json_decode(curl_exec($ch), true);
        echo $decoded["questions"][0]["title"];
}

get("meteor");

答案 1 :(得分:1)

如果希望函数json_decode()返回对象,则需要省略第二个参数。在您的情况下,第二个参数是TRUE,这意味着它将返回数据数组。

另外,我建议通过回显整个响应调试请求,而不是您想要查看的项目。例如,如果它返回错误。