Я хочу получить результаты от Google. В соответствии с документами веб-API Google это мой код.
<!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>
Но я не получаю ничего на странице, ни ошибки. Может кто-нибудь помочь мне понять, почему он не работает и как отлавливать ошибки?
Может быть тысячи причин. Мол, неспособность 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);
Единственная ошибка заключается в том, что вы пытаетесь отобразить объект, возвращаемый json_decode.
<b>Catchable fatal error</b>: Object of class stdClass could not be converted to string in ...