В соответствии с описанием API пользовательского поиска Google вы можете вызвать его, используя глагол GET интерфейса REST, как в примере:
GET https://www.googleapis.com/customsearch/v1?key=INSERT-YOUR-KEY&cx=017576662512468239146:omuauf_lfve&q=lectures
Я установил свой ключ API и пользовательскую поисковую систему, и когда я вставил свой тестовый запрос прямо в браузер, он работал нормально, и я отобразил JSON-файл.
Затем я попытался вызвать API из моего кода PHP, используя:
$json = file_get_contents("$url") or die("failed");
Где $ url был тем же, который работал в браузере, но мой PHP-код умирал при попытке открыть его.
После этого я попробовал с curl, и это сработало. Код был такой:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$body = curl_exec($ch);
Вопросы
- Почему file_get_contents () не работает, а curl работает?
- Могу ли я использовать fsocket и для этого?