django - 如何通过浏览器 IP 获取位置

Posted

技术标签:

【中文标题】django - 如何通过浏览器 IP 获取位置【英文标题】:django - How to get location through browser IP 【发布时间】:2017-10-03 15:11:59 【问题描述】:

我有一个非常基本的 django 应用来获取天气。

我需要获取用户的位置以向他们显示他们当前位置的天气。为此,我正在使用 GeoIP。

但是出现了一个问题,即 GeoIP 没有所有 IP 地址的信息。它为这些 IP 地址返回 NoneType。

我想知道是否有任何其他精确的方式可以让我了解用户当前的纬度和经度,比如浏览器 API?它不应该像 GeoIP 那样错过任何用户的位置。

【问题讨论】:

【参考方案1】:

首先,您无法通过 IP 获取用户的确切位置。

某些 ISP 的 IP 与用户位置无关,而是与他们的 IDC 位置相关。

因此,如果您“真的”想要客户的位置,您应该使用客户端(浏览器)的 GeoLocation API。 (前端)

你要做的是……

    通过 Geolocation API 获取用户位置 将用户位置发布到您的服务器 返回基于位置的信息 使用信息更新您的网页 (DOM)。

【讨论】:

以上是关于django - 如何通过浏览器 IP 获取位置的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Google API 通过独立的 Java 类获取 IP 地址的位置?

通过网络请求获取当前IP,并得到大致位置

我如何通过 ip 为匿名用户计算 django 中的视频观看次数

php获取了ip地址,用php怎么获取ip的地理位置?请大虾赐教!

如何在公司知道自己家路由器的外网IP地址

如何在 Python 中根据 IP 地址获取服务器的位置