【问题标题】:Why different POST requests using python and curl return same geolocation with google api为什么使用 python 和 curl 的不同 POST 请求使用 google api 返回相同的地理位置
【发布时间】:2016-07-23 11:25:14
【问题描述】:

我的问题与以下链接中的相同。这个问题仍然没有答案: Why different requests return same geolocation with google geolocation api

我有同样的问题,为什么每次请求都会得到相同的谷歌数据响应?我得到的数据总是一样的。

如果我向 Google 发送 curl POST 请求,无论 JSON 键值中的值如何,我都会得到相同的响应。

如果我使用 Python 2.7 使用请求发送 POST 请求,无论我在变量中为 URL POST 请求设置的值如何,我总是会收到相同的响应。

任何理想,需要什么键值,所以我可以提取所需的数据。例如,我想解析各种区号的“locationAreaCode”,并且希望请求为每次查找返回“lat”和“lng”。

在 MAC OS 中使用终端:

curl -d @your_filename.json -H "Content-Type: application/json" -i https://www.googleapis.com/geolocation/v1/geolocate?key=[use your Google API key]

注意:“your_filename.json”是 .json 文件的文字名称。 这个.json文件目前配置如下(我试过各种键值):

[
  "cellTowers",
  [
  "locationAreaCode",
  415
  ]
]

当我使用带有请求语法的 python 2.7 时,我会得到一个“响应 200”,并且我会得到完全相同的数据返回。

我总是得到相同的响应: 确认状态码为:200

这是发送给 Google 的 POST 网址 [链接-自从新用户到stackoverflow后必须删除] POST 请求返回的数据是:

{
 "location": {
  "lat": 25.7459338,
  "lng": -80.30449569999999
 },
 "accuracy": 37571.0
}

python 2.7 的输出:

python API_json2-6.py
[link - had to remove since new user to stackoverflow]
Status Code is:  200
Confirming Status Code is:  200
This is the POST url sent to Google 
https://www.googleapis.com/geolocation/v1/geolocate?key=[your google api KEY]&locationAreaCode=415
Data Returned on the POST request is: 

    {
     "location": {
      "lat": 25.7459338,
      "lng": -80.30449569999999
     },
     "accuracy": 37571.0
    }

谢谢!

【问题讨论】:

  • 是的,由于某种原因,我也遇到了这个问题。

标签: python json google-maps curl


【解决方案1】:

Geocoding Strategies 中所述,服务器端地理编码应用程序的基本架构如下:

  • 基于服务器的应用程序将地址发送到服务器的地理编码脚本。
  • 脚本会检查缓存以查看地址最近是否经过地理编码。
  • 如果有,脚本会将地理编码返回给原始应用程序。
  • 如果没有,脚本会向 Google 发送地理编码请求。一旦得到结果,它就会缓存它,然后将地理编码返回给原始应用程序。
  • 稍后,地理编码用于在 Google 地图上显示数据。

还请注意给定的配额注意事项,以了解在定期运行客户端地理编码请求时要避免的事情以及缓存注意事项,其中 Google 地图 API 允许您缓存地理编码(即,将它们存储在您的服务器上限时)。如果您必须重复查找相同的地址,缓存会很有用。

【讨论】:

  • 您说的是地理编码。这与 OP 关于地理位置的问题不同。它们是两个独立的 API 端点。
猜你喜欢
  • 2013-12-27
  • 1970-01-01
  • 2021-12-01
  • 1970-01-01
  • 2017-04-15
  • 1970-01-01
  • 2017-11-25
  • 2019-08-28
  • 2019-03-22
相关资源
最近更新 更多