Go使用纯真IP数据库获取地理位置

纯真版IP地址数据库是当前网络上最权威、地址最精确、IP记录以及网吧数据最多的IP地址数据库。收集了包括中国电信、中国移动、中国联通、铁通、长城宽带等各 ISP 的最新准确 IP 地址数据。通过大家的共同努力打造一个没有未知数据,没有错误数据的QQ IP。IP数据库每5天更新一次,请大家定期更新最新的IP数据库!

准备工作(纯真IP数据库下载)

纯真IP官网
进入官网后点击纯真IP数据库下载

IP数据库下载

下载完成后进入下载文件安装下载好的exe文件,安装完成后打开项目安装根目录,将qqwry.dat文件复制到golang项目中。
qqwry.dat文件

项目目录

依赖安装

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
    }
}

你可能感兴趣的:(Go使用纯真IP数据库获取地理位置)