---
title: IP查詢省份
---
# IP查詢省份
###### tags: `Golang`
### 相關文章網上很多,但是需要的lib不好找,特此紀錄下
這裡我把找到的lib放到自己的git。
未來需要更新的話再找找,這裡先提供急用。
我的範例git: https://github.com/ronnielin8862/go-practice/tree/master/pkg/ipGetLocation
dat檔案原git: https://github.com/out0fmemory/qqwry.dat
golang library: https://github.com/kayon/iploc/
```
func Test1(t *testing.T) {
ip := "101.226.168.228"
iPGetLocation(ip)
}
func iPGetLocation(ip string) {
loc, err := iploc.Open("/Users/ronnie/Documents/coding/code/go-practice/pkg/ipGetLocation/qqwry.dat/qqwry_lastest.dat")
if err != nil {
panic(err)
detail = loc.Find(ip)
fmt.Println(detail.String())
fmt.Println(detail.Country, detail.Province, detail.City, detail.County)
fmt.Println("22 = ", ConvertToString(detail.String(), "gbk", "utf-8"))
fmt.Println("Country = ", ConvertToString(detail.Country, "gbk", "utf-8"))
fmt.Println("Province = ", ConvertToString(detail.Province, "gbk", "utf-8"))
fmt.Println("City = ", ConvertToString(detail.City, "gbk", "utf-8"))
fmt.Println("County = ", ConvertToString(detail.County, "gbk", "utf-8"))
fmt.Println("Region = ", ConvertToString(detail.Region, "gbk", "utf-8"))
fmt.Println("ip = ", detail.IP)
}
```
console:
```
22 = 上海市 上海有孚计算机网络有限公司电信节点
Country = 上海市
Province =
City =
County =
Region = 上海有孚计算机网络有限公司电信节点
ip = 101.226.168.228
```