невозможно использовать API поиска Google - PullRequest
0 голосов
/ 10 ноября 2010
<?php
session_start();

require_once('JSON.php');

$url= 'http://ajax.googleapis.com/ajax/services/search/web?rsz=large&v=1.0&q='. $_POST['searchquery'].'&key=ABQIAAAA4oH5MwaexHdhZg4UWRNB1RT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTzUf4N43torAasiY6JD5CaJS6n7Q&userip=http://localhost/';

echo $url;


// use fopen and fread to pull Google's search results

$handle = fopen($url, 'rb');
$body = '';
while (!feof($handle)) {
$body .= fread($handle, 8192);
echo $body;
}
fclose($handle);

// now $body is the JSON encoded results. We need to decode them.

$json = new Services_JSON();
$json = $json->decode($body);

var_dump($json);
}

?>

Когда я пытаюсь запустить этот скрипт, я получаю сообщение об ошибке [function.fopen]: не удалось открыть поток: сбой HTTP-запроса!

если я возьму сгенерированный $ url и вставлю его в адресную строку, я получу требуемый ответ.

Может кто-нибудь помочь, и дайте мне знать, как я могу решить эту проблему. Спасибо

1 Ответ

0 голосов
/ 10 ноября 2010

вместо кода выше, попробуйте:

1002 * $ URL = 'http://ajax.googleapis.com/ajax/services/search/web?rsz=large&v=1.0&q='. $ _POST [' SearchQuery '].' & Ключ = ABQIAAAA4oH5MwaexHdhZg4UWRNB1RT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTzUf4N43torAasiY6JD5CaJS6n7Q & userip = http://localhost/'; 1007 * $json = file_get_contents ($ url);

$ myArr = json_decode ($ json);

var_dump ($ myArr);

я не уверен, но, возможно, вам нужнозаменить $ _POST ['searchquery'] на urlencode ($ _ POST ['searchquery']) для случаев, если в поисковом запросе есть пробелы.

from: Как получить и использовать ответ JSON длясайт на PHP?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...