node.js - 查找位置的最佳 node.js 模块?

标签 node.js geolocation ip node-modules maxmind

我找到了几个 node.js modules用于使用 IP 地址查找有关客户端位置和网络的信息。

要求:

  1. 位置 - 国家、城市、州、纬度、经度等

  2. 网络 - 互联网服务提供商、互联网连接类型和互联网速度等

  3. 数据准确性 - 最大可能性。

注意:正在寻找服务器端解决方案。

上述模块使用maxmind data .我读过maxmind data accuracy也是。

我对选择上述 node.js 模块有点困惑,我想知道是否有更好的 node.js 框架可用于查找满足我要求的信息或任何其他可以移植到 node.js 的语言插件。

任何想法都会很棒。

最佳答案

使用基于 IP 的地理位置是可能的,但不是很准确。因此,我建议您考虑采用混合方法,例如尝试通过浏览器内的 HTML5 地理定位 API 获取用户位置,并在必要时回退到服务器端。

我查看了可用于 node.js 的两个最常用的 geoip/-location 模块,它们都使用 MaxMind 提供的数据集。 AFAIK 您必须手动使这些数据库保持最新状态,这显然令人沮丧。所以你可以考虑写一个同步服务/脚本,每月更新一次数据库。 (有关 MaxMinds 免费解决方案的更多信息,请访问 here)。

kuno/GeoIP是一个 GeoIP 绑定(bind),所以它的核心是使用 libGeoIP C 库,这没问题,但可能不如纯 JavaScript 实现 bluesmoon/node-geoip优惠。两者都可以,取决于您更喜欢哪个库。在性能方面,你必须做一些基准测试(如果这个主题对你很重要)......这个问题没有一般的答案,哪种类型的模块(C 绑定(bind)/ native )会更快。

如果你愿意花几 block 钱,你也可以看看 MaxMinds Web Service ,这是一个简单的 REST API,将是最精确的方法。文档非常好,因此入门不会有问题。

关于node.js - 查找位置的最佳 node.js 模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16664623/

相关文章:

javascript - MongoDB如何在查询中引用对象的属性

javascript - Html5 地理定位精度非常高

javascript - 如何使用 AngularJS 获取用户的邮政编码

sql - 从 C 中的 oracle DB 中的字段中提取有效 IP

jquery - 将数据从nodejs发送到html页面

javascript - 为什么 Async.parallel 回调返回意外结果?

ruby-on-rails - Ruby 地理定位 Gem/插件

c# - 给定 IP 地址和网络掩码后,如何计算 IP 范围?

php - 为什么我的客户端 IP 在 xampp 上返回为::1?

javascript - 为每个数组元素调用 custom_function