He intentado obtener una respuesta json del servicio de geocodificación de google. Estoy usando PHP. Estaba intentando con fopen, luego leí en otra pregunta de stackoverflow que debería usar file_get_contents, pero no funcionó demasiado. Luego sigo buscando y encontré a alguien en otro foro que me dijo que sería una mejor solución si uso CURL, así que cambié mi código y no está funcionando. En todos los casos, recibí un "Error 400: Solicitud incorrecta. Su cliente ha emitido una solicitud incorrecta o mal formada".El servicio de geocodificación de Google devuelve Error 400 Solicitud incorrecta
Mi código es la siguiente:
$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);
Entonces imprimir el contenido y recibieron el mensaje de error.
¿Alguna idea?
Muchas gracias.
Alternativamente, podría envolver todas las variables en 'urlencode()' –