我找到了几个 node.js modules用于使用 IP 地址查找有关客户端位置和网络的信息。
要求:
位置 - 国家、城市、州、纬度、经度等
网络 - 互联网服务提供商、互联网连接类型和互联网速度等
数据准确性 - 最大可能性。
注意:正在寻找服务器端解决方案。
上述模块使用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/