GeoLite2/GeoIP2---简单的ip地址定位
前言
有业务需求做ip定位,在这简单记录下,以防自己忘了,有相似需求的小伙伴也可以参考。
实现方式及对比
ip地理定位主要包括以离线数据库、在线API两种方式实现。不同实现方式级第三方的使用效果请参考这篇文章。笔者最终选择了MAXMIND离线的GeoLite2数据库(免费、更快、但需要更新数据、准确率相对较低),比较富裕或者追求更高准确率的小伙伴可以试试GeoIP2或者其他国内平台提供的API或者离线数据。对于GeoLite2与GeoIP2,MAXMIND官网上有多种语言的使用示例,如图,上手还是比较简单的。
GeoLite2数据获取
目前下载离线数据需要登录,先注册账号并登录。
1、MaxMind官网选择GeoLite2 Free Geolocation Data-->sign up注册-->Download Files
下载页面分几种类型数据,小伙伴们可以按照需求选择,笔者下载的是GeoLite2-City.mmdb的GZIP包
GO语言实现
package mainimport ("fmt""log""net""github.com/oschwald/geoip2-golang"
)const DATA_FILE = "GeoLite2-City.mmdb"func main() {db, err := geoip2.Open(DATA_FILE)if err != nil {log.Fatal(err)}defer db.Close()var ipTxt = "***.**.**.***"ip := net.ParseIP(ipTxt)record, err := db.City(ip)if err != nil || record == nil {log.Fatal(err)}fmt.Println("ip:", ip, "------------------------------------------")fmt.Println("国家:", record.Country.Names["zh-CN"])fmt.Println("城市:", record.City.Names["zh-CN"])fmt.Println("经度:", record.Location.Longitude)fmt.Println("纬度:", record.Location.Latitude)fmt.Println("准确半径:", record.Location.AccuracyRadius)fmt.Println("------------------------------------------")}
运行效果
参考内容
https://www.cnblogs.com/zccoming/p/13338493.html
GitHub - Hackl0us/GeoIP2-CN: 小巧精悍、准确、实用 GeoIP2 数据库
GeoLite2/GeoIP2---简单的ip地址定位相关推荐
- 什么是IP地址定位,优缺点有哪些?
IP地址是什么 IP地址就像是我们的家庭住址一样,如果你要写信给一个人,你就要知道对方的地址,这样邮递员才能把信送到.计算机发送信息就好比是邮递员,它必须知道唯一的"家庭地址"才能 ...
- 获取客户端IP地址定位城市信息
获取客户端IP地址定位城市信息 1.首先获取客户端的IP地址 function getIPaddress(){ $IPaddress=''; if (isset($_SERVER)){ if (iss ...
- 开源:推荐一个不错的离线IP地址定位库
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | https://gitee.com/lions ...
- 若依集成ip2region实现离线IP地址定位
离线IP地址定位库主要用于内网或想减少对外访问http带来的资源消耗. 目录 一.引入依赖 二.添加工具类RegionUtil.java 三.修改AddressUtils.java 四.添加离线IP地 ...
- Ip2region 离线IP地址定位库
Ip2region 是什么 ip2region v2.0 - 是一个离线IP地址定位库和IP定位数据管理框架,10微秒级别的查询效率,提供了众多主流编程语言的 xdb 数据生成和查询客户端实现. Gi ...
- ThinkPHP中IP地址定位,包括IP地址库文件
前几天,研究了一下TP中IP地址定位,着实费了一些时间,现在解决了,分享给大家. IP地址库有点大,去这里下载http://download.csdn.net/detail/man_quan/4636 ...
- ipcalc命令 – 简单的IP地址计算器
ipcalc命令的全称是:Calculate IP information for a host(计算主机的IP信息) ipcalc命令是一个简单的ip地址计算器,可以完成简单的IP地址计算任务. 语 ...
- 简单测试IP地址连通性
简单测试IP地址连通性 现有两台主机PC1.PC2,两台交换机S1.S2,一台路由器R1,主机都处于不同的网段,如何让路由器和两台主机连通? 1.搭建拓扑结构图 2.对主机进行配置 同理,对另外一台主 ...
- 准确率99.9%的离线IP地址定位库
准确率99.9%的离线IP地址定位库. Ip2region 是一个离线 IP 地址定位库,准确率高达 99.9%,搜索性能为 0.0x 毫秒.DB 文件只有几兆字节,其中存储了所有 IP 地址.支持 ...
最新文章
- 大数据处理系列之(一)Java线程池使用
- 【Python】吐槽SQLAlchemy
- 探求数据仓库关键环节ETL的本质
- SO_REUSEADDR SO_REUSEPORT 解析
- 经验 | 如何提升目标检测NMS精度
- 特朗普网络安全行政令实施情况如何?
- 一箭N雕:多任务深度学习实战
- ffmpeg MP3转wav
- 关于产品的一些思考——八千里网络之谁叫我起床
- centos漏洞系列(三):Google Android libnl权限提升漏洞
- 基于51单片机的电子密码锁设计
- 如何使用纯 CSS(border-radius 和 clip)属性画出半圆
- 用计算机玩游戏的视频教程,让桌面上同时操作游戏和显示视频的技巧-电脑教程...
- XU316-1024-熙光技术
- Teradata天睿任命王波为大中华区总裁
- 十六进制颜色转换ARGB/RGB
- hdoj-2550 百步穿杨
- 通达oa 2017 php,【通达OA】办公就用通达OA,通达OA官方网站_OA系统_协同办公
- 机器学习实战第二章——KNN算法(源码解析)
- 前端从头搭建个人博客