yahoo maps api curl настройки - PullRequest
0 голосов
/ 11 мая 2011

Как мне настроить cURL для получения данных из API карт Yahoo?

Вот текущий код

curl_setopt($ch, CURLOPT_TIMEOUT, 5000);
curl_setopt($ch, CURLOPT_URL, $geocodeurl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$data = curl_exec($ch);

Возвращает файл HTML с 400 ошибочными запросами. Я проверил $geocodeurl, и это допустимый файл XML, поэтому я считаю, что проблема должна быть в параметрах cURL?


$ geocodeurl -

 http://where.yahooapis.com/geocode?appid=** My App ID **&q=Battle%20Creek,MI&gflags=R

Ответы [ 2 ]

1 голос
/ 13 мая 2011

Я написал простую оболочку класса, чтобы получить базовый адрес в виде объекта php, который может помочь вам выполнить работу! я также добавил обертку геокодирования Google.

чтобы ответить на ваш вопрос, все в порядке с URL-адресом, который вы разместили, но да, как вы упомянули в своем ответе, вы должны urlencode параметров

$query = $this->url."?appid=".$this->appid."&flags=".$this->format;
$query .= "&location=".urlencode($address);

вот ссылка на мой класс-оболочку

https://github.com/mrpollo/Geocoding-API

0 голосов
/ 13 мая 2011

ОК, как обычно, я ошибочно определил проблему. cURL был в порядке, но переменная q= не проходила через какую-либо функцию urlencode правильно.

Работал в моем браузере, потому что Firefox любезно изменил на %20. С cURL вам нужно быть более осторожным. , , .

...