Golang — 根据IP获取地理位置信息_golang geoip,阿里技术专家
package main
import (
"fmt"
"github.com/oschwald/maxminddb-golang"
)
func getGeoIPInfo(mmdbPath, ip string) (interface{}, error) {
db, err := maxminddb.Open(mmdbPath)
if err != nil {
return nil, err
}
defer db.Close()
var result interface{}
err = db.Lookup(ip, &result)
if err != nil {
return nil, err
}
return result, nil
}
func main() {
mmdbPath := "GeoLite2-City.mmdb" // 确保路径正确指向你的MaxMind DB文件
ip := "208.77.128.131" // 示例IP地址
info, err := getGeoIPInfo(mmdbPath, ip)
if err != nil {
fmt.Println("查询错误:", err)
} else {
fmt.Printf("地理位置信息: %+v\n", info)
}
}
这段代码演示了如何使用maxminddb-golang
库来打开一个GeoIP数据库文件,并查询一个特定的IP地址以获取地理位置信息。在main
函数中,我们调用getGeoIPInfo
函数并处理返回的错误或信息。注意,你需要将mmdbPath
变量设置为指向你的GeoIP数据库文件的正确路径。
评论已关闭