我想从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>
但是我没有在页面上得到任何错误。任何人都可以帮我弄明白为什么它不起作用以及如何捕捉错误?
答案 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 ...