CURL PHP没有显示任何结果

时间:2015-01-17 15:41:25

标签: php curl google-search-api

我想从Google获得结果。根据谷歌的网络API文档,这是我的代码。

<!DOCTYPE html>
<html>
<head>
    <title>testing</title>
</head>
<body>
    <?php
        $page = 10;
        $query = "Baby";
        $url = "https://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=".$query;
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.1.4322)');
        $body = curl_exec($ch);
        curl_close($ch);
        $json = json_decode($body);
        var_dump($json);
        echo $json;
    ?>
</body>
</html>

但是我没有在页面上得到任何错误。任何人都可以帮我弄明白为什么它不起作用以及如何捕捉错误?

2 个答案:

答案 0 :(得分:0)

可能有数千个原因。比如,由于某些服务器配置错误,cURL无法建立出站连接....

尝试查看页面来源。它在那里显示</body>吗? 如果没有,那么这是一个你不明白的致命错误。显示错误ini_set('display_errors',1)以查看错误。

使用CURLOPT_VERBOSE查看发生了什么。请尝试以下方法:

curl_setopt($curlhandle, CURLOPT_VERBOSE, true);
$verbose = fopen('php://temp', 'rw+');
curl_setopt($curlHandle, CURLOPT_STDERR, $verbose);

答案 1 :(得分:0)

唯一的错误是您正在尝试回显json_decode返回的对象。

<b>Catchable fatal error</b>:  Object of class stdClass could not be converted to string in ...