Ip2region - 准确率99.9%的离线IP地址定位库
Ip2region体积小,包含了全部的IP,生成的数据库文件ip2region.db只有几MB,最小的版本只有1.5MB,随着数据的详细度增加数据库的大小也慢慢增大,目前还没超过8MB。
Ip2region查询速度快,全部的查询客户端单次查询都在0.x毫秒级别,内置了三种查询算法:
memory算法:整个数据库全部载入内存,单次查询都在0.1x毫秒内,C语言的客户端单次查询在0.00x毫秒级别。
binary算法:基于二分查找,基于ip2region.db文件,不需要载入内存,单次查询在0.x毫秒级别。
b-tree算法:基于btree算法,基于ip2region.db文件,不需要载入内存,单词查询在0.x毫秒级别,比binary算法更快。
其中,任何客户端的b-tree都比binary算法快,而memory算法总是最快的。
Ip2region提供了多查询客户端的支持,已经集成的客户端有:java、C#、php、c、python、nodejs、php 扩展 (php5和php7)、golang、rust、lua、lua_c, nginx 等等:
我们以nodejs为例,首先安装:
npm install node-ip2region --save
在代码中使用:
const searcher = require('node-ip2region').create();
console.log(searcher.btreeSearchSync('112.11.2.12'))
//{ city: 1170, region: '中国|0|浙江省|嘉兴市|移动' }
网友回复
DLNA与UPnP的区别和不同?
苏超自建抢票app,通过先预约再抽签化解高并发抢票?
python如何让给电脑在局域网中伪装成电视接收手机的投屏图片视频播放?
如何结合python+js如何自己的视频编码与加密播放直播?
python如何在电脑上通过局域网将本地视频或m3u8视频投屏电视播放?
腾讯视频爱奇艺优酷vip电影电视剧视频如何通过python绕过vip收费直接观看?
有没有可免费观看全球电视台直播m3u8地址url的合集?
有没有实现观影自由的免vip影视苹果 CMS V10 API的可用url?
python如何实时检测电脑usb插入检测报警?
如何判断真人操作的鼠标移动直线轨迹与机器操作的轨迹?