Не удалось подключиться к ошибке хоста с помощью Google Places API и PHP/cURL

Я пытаюсь использовать PHP и cURL для получения данных из API Google Places, но cURL выдает ошибку «Не удалось подключиться к хосту». Если я вставляю URL-адрес запроса Google Places в браузер, он работает нормально. file_get_contents тоже не работал. Вот мой код:

$ch = curl_init();
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_VERBOSE, 1);
    //curl_setopt($ch, CURLOPT_POST, 1);
    //curl_setopt($ch, CURLOPT_POSTFIELDS, $fieldString);
    $result = curl_exec ($ch);
    if (curl_errno($ch)) {
            return curl_error($ch);
    } else {
    curl_close($ch);
    }
    return $result;

Я запрашиваю URL-адрес https://maps.googleapis.com/maps/api/place/search/json?key=xxx&location=27.916766641249062,-82.08984375&radius=50000&sensor=true&types=bar%7Cnight_club. Я удалил свой ключ API в целях безопасности.


person user1132322    schedule 05.01.2012    source источник
comment
Я не PHP-парень, curl автоматически кодирует URL-адрес запроса?   -  person Mano Marks    schedule 05.01.2012
comment
Я пробовал URL-адрес, кодирующий запрос, ничего не изменил   -  person user1132322    schedule 08.01.2012


Ответы (1)


Мне очень нравится использовать file_get_contents(), когда это возможно, это так просто и элегантно.

Обычно я делаю

<?php
$json = (array) json_decode(file_get_contents("https://maps.googleapis.com/maps/api/place/search/json?key=xxx&location=27.916766641249062,-82.08984375&radius=50000&sensor=true&types=bar%7Cnight_club."));

var_dump($json);
?>

то вы должны увидеть такой массив:

array(3) {
  ["html_attributions"]=>
  array(0) {
  }
  ["results"]=>
  array(0) {
  }
  ["status"]=>
  string(14) "REQUEST_DENIED"
}

Очевидно, у меня нет правильного ключа API :) надеюсь, что это будет полезно.

person Justin T.    schedule 05.01.2012
comment
file_get_contents просто дает мне пустую страницу и с помощью fsockopen время ожидания соединения истекает - person user1132322; 08.01.2012