Files
zogo/ipquery/README.md
T
4566704 b5c3c0c17c feat(ipquery): 自 go-hua 迁入 IP/域名归属地查询
- 基于 ip2region xdb 全内存加载, 新增依赖 lionsoul2014/ip2region
- 附测试、examples/ipquery 例程与包 README(含 xdb 获取说明)
2026-09-20 12:29:37 +08:00

34 lines
1.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# ipquery
基于 [ip2region](https://github.com/lionsoul2014/ip2region) xdb 数据文件的
IP/域名归属地查询:整个 xdb 加载进内存,进程内只加载一次后可并发查询。
> 迁移自 go-hua/ipquery,代码保持原样。
## 用法
```go
import "git.zeroonesoft.cn/golib/zogo/ipquery"
// 加载 xdb(进程内一次即可)
if err := ipquery.LoadIp("D:/data/ip2region.xdb"); err != nil { ... }
// 字符串结果("国家|区域|省份|城市|ISP")
fmt.Println(ipquery.QueryString("114.114.114.114"))
// 结构化结果(Query 支持域名,内部先解析)
d, err := ipquery.Query("www.baidu.com")
// 工具函数
ipquery.StringToUint32("114.114.114.114") // uint32
ipquery.RegexpDns("www.example.com") // 域名格式校验
```
完整可运行例程:[examples/ipquery/main.go](../examples/ipquery/main.go)
(`go run . <xdb路径> [IP或域名]`,xdb 从 ip2region 项目下载)
## 注意
- **必须先 `LoadIp`**,未加载直接 Query 会失败。
- 全内存加载(xdb 数十 MB 起),内存敏感场景注意;数据文件需自行定期更新。