Próbuję uzyskać odpowiedź json z usługi geokodowania google. Używam PHP. Próbowałem z fopenem, a następnie przeczytałem w innym pytaniu stackoverflow, że powinienem użyć file_get_contents, ale też nie działało. Następnie szukam i znalazłem kogoś na innym forum, który powiedział, że będę lepszym rozwiązaniem, jeśli użyję CURL, więc zmieniłem kod i nie działa. We wszystkich przypadkach otrzymałem komunikat "Błąd 400: nieprawidłowe żądanie." Twój klient wysłał nieprawidłowo sformułowane lub nielegalne żądanie. "Usługa geokodowania Google zwraca błąd 400 Zły wniosek
Mój kod to:
$jsonUrl = "http://maps.googleapis.com/maps/api/geocode/json?address=" . $cityName . "&sensor=false";
$geocurl = curl_init();
curl_setopt($geocurl, CURLOPT_URL, $jsonUrl);
curl_setopt($geocurl, CURLOPT_HEADER,0); //Change this to a 1 to return headers
curl_setopt($geocurl, CURLOPT_USERAGENT, $_SERVER["HTTP_USER_AGENT"]);
curl_setopt($geocurl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($geocurl, CURLOPT_RETURNTRANSFER, 1);
$geofile = curl_exec($geocurl);
Potem wydrukować zawartość i dostałem komunikat o błędzie.
Wszelkie pomysły?
Dziękuję bardzo.
Alternatywnie można zawijać wszystkie zmienne w 'urlencode()' –