curl - Google 地理编码服务返回错误 400 错误请求

标签 curl google-geocoder

我一直在尝试从 google 的地理编码服务中获得 json 响应。我正在使用 PHP。我正在尝试使用 fopen,然后我在另一个 stackoverflow 问题中读到我应该使用 file_get_contents,但也没有用。然后我继续搜索并在另一个论坛中找到了一个人,他说如果我使用 CURL,我会提供更好的解决方案,所以我更改了我的代码并且无法正常工作。在所有情况下,我都收到了“错误 400:错误请求。您的客户端发出了格式错误或非法的请求。”

我的代码是这样的:

$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);

然后我打印内容并收到错误消息。

有什么想法吗?

非常感谢。

最佳答案

嗯,我想通了。

我的 $cityName 变量是这样的:

$cityName = "Monterrey, NL";

逗号和“NL”之间的空格。我使用 str_replace 将“”更改为“+”并获得文档中的有效网址:

http://code.google.com/intl/es/apis/maps/documentation/geocoding/

问候并非常感谢您的帮助!

关于curl - Google 地理编码服务返回错误 400 错误请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5395860/

相关文章:

Android:如何在 MapView 上执行附近搜索

android - addressList 大小为 0 Google map

php - 在继续之前等待 curl 完成?

c++ - curl_easy_perform() - 不要等待响应

javascript - 从 Google geocode API 返回 Neighborhood?

javascript - Google Geocode API 的回调函数未立即执行

java - Geocoder 并不总是返回一个值

javascript - 将 cURL 转换为使用 auth、multipart/form-data 和 json 获取

ubuntu - curl ftp 删除多个文件 sh 脚本

php - 使用 curl PHP 登录 Instagram