GeoIP (使用 MaxMind 数据库)
这是一种使用 MaxMind GeoLite2 City 数据库将 IP 地址解析为真实世界位置数据的替代方法。
先决条件
在运行之前,您必须首先从 MaxMind 网站下载数据库 - https://dev.maxmind.com/geoip/geoip2/geolite2/。为此,您可能需要注册一个免费帐户。
您需要下载的数据库是版本 ID 为 GeoLite2-City
的数据库。将其放在此文件夹中并运行
go run geoip-maxmind
用法
例如,向 http://127.0.0.1:3000/geo/178.62.56.160
发送请求。您可以省略 IP 地址以使用您当前的 IP 地址,或替换为使用另一个 IP 地址。如果 IP 地址无效,将返回 HTTP 400。
可以在 handlers/handlers.go
文件中的 ipLookup
结构体中修改响应字段。
示例响应
{
"City": {
"GeoNameID": 2643743,
"Names": {
"de": "London",
"en": "London",
"es": "Londres",
"fr": "Londres",
"ja": "ロンドン",
"pt-BR": "Londres",
"ru": "Лондон",
"zh-CN": "伦敦"
}
},
"Country": {
"IsoCode": "GB"
},
"Location": {
"AccuracyRadius": 50
}
}