我在http://m.rummble.com使用 Web 应用程序网站,当我点击使用齿轮找到我的位置时。该应用程序返回我当前的位置(近似城市位置)以及给定英里半径内的各种机构。为了进一步了解它是如何工作的,我打开了wireshark,我注意到一个POST请求被发送到www.google.com/loc/json。然后谷歌服务器响应 200 OK 和 JSON 格式的位置数据。我理解这部分。下一步是我不明白的。显然,在 rumble 应用程序接收到位置数据(纬度、经度、地址等)之后,它使用 GET 请求将此信息发送到另一台服务器上的某个 API,该服务器获取给定英里半径内的各种设施。我所做的只是单击,使用齿轮找到我的位置。我有理由期望应用程序只返回我的位置,但它' 无需单击应用程序中的任何其他按钮即可返回更多内容。有人可以解释这是怎么发生的吗?有没有一个脚本可以做到这一点?我希望我能更好地解释我的情况。
替代文字 http://img211.imageshack.us/img211/1236/examplel.jpg
donalg d
问问题
3081 次
2 回答
0
好吧,确定匿名用户位置的第一步是通过他的 IP。如果这是你想要的,你需要做两件事之一:
- 查找 IP 和位置数据库。一个快速的谷歌搜索出现了http://ip-to-country.webhosting.info/downloads/ip-to-country.csv.zip
- 使用 DNS 跟踪路由和反向查找 IP 到主机名,并尝试读取主机名以获取地理信息,例如国家和城市。
无论哪种方式,一旦您有了国家和/或城市,您就可以进行地理查询以查找纬度和经度,并根据这些坐标显示地图。
据推测,Google Gears 使用了类似的东西,或者可能基于 Google 使用其各种数据收集技术大量收集的数据。这样,一旦 Google Gears 确定了用户的位置,它就会知道他在哪个城市/国家,并请求匹配的纬度和经度。
于 2009-04-14T09:29:30.480 回答
0
无论出于何种原因,rummble.com 都没有navigator.getlocation
在我的机器上进行查询,所以我无法自己确认您的报告。
但是,当您单击以允许 rummble.com 从 Gears 获取您的位置时,您将该位置信息交给了 rummble.com 网站。然后,该网站可以随心所欲地使用它——信息被返回到在浏览器上运行的一段 Javascript,在这种情况下,听起来那段 Javascript 正在使用您的位置信息来加载附近的列表餐馆。
您可能非常担心这一点。如果 rumble 将您的姓名和位置信息发送给广告商或政府怎么办?他们将您的精确位置信息存储多长时间?在允许与网站共享您的位置之前,您应该考虑这些影响。
于 2009-08-23T22:38:23.727 回答