Go使用纯真IP数据库获取地理位置
纯真版IP地址数据库是当前网络上最权威、地址最精确、IP记录以及网吧数据最多的IP地址数据库。收集了包括中国电信、中国移动、中国联通、铁通、长城宽带等各 ISP 的最新准确 IP 地址数据。通过大家的共同努力打造一个没有未知数据,没有错误数据的QQ IP。IP数据库每5天更新一次,请大家定期更新最新的IP数据库!
准备工作(纯真IP数据库下载)
纯真IP官网:https://www.cz88.net/
进入官网后点击纯真IP数据库下载
下载完成后进入下载文件安装下载好的exe文件,安装完成后打开项目安装根目录,将qqwry.dat文件复制到golang项目中。
依赖安装
1.mahonia 处理 GBK 编码的地址信息 (请确保先装好 hg)
go get code.google.com/p/mahonia
2.使用
go get github.com/yinheli/qqwry
3.在项目中引入
import (
"github.com/yinheli/qqwry"
"log"
)
/**
纯真数据库获取ip地址
@return {"Ip": "180.89.94.90","Country": "北京市","City": "鹏博士宽带"}
*/
func GetIp(ip string) *qqwry.QQwry {
address := net.ParseIP(ip)
if ip == "" || address == nil {
panic("get ip os ip is empty")
} else {
dir, err := os.Getwd()
if err != nil {
panic("get ip os dir err" + err.Error())
}
q := qqwry.NewQQwry(dir + "/config/qqwry.dat")
q.Find(ip)
return q
}
}
一个勤勤恳恳码代码的码农,爱生活,爱代码!