mirror of
https://github.com/nxtrace/NTrace-core.git
synced 2025-08-12 06:26:39 +00:00
28 lines
501 B
Go
28 lines
501 B
Go
package ipgeo
|
|
|
|
import (
|
|
"io/ioutil"
|
|
"net/http"
|
|
|
|
"github.com/tidwall/gjson"
|
|
)
|
|
|
|
func IPInSight(ip string) (*IPGeoData, error) {
|
|
resp, err := http.Get("https://ipinsight.io/query?ip=" + ip)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
body, err := ioutil.ReadAll(resp.Body)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
|
|
res := gjson.ParseBytes(body)
|
|
|
|
return &IPGeoData{
|
|
Country: res.Get("country_name").String(),
|
|
City: res.Get("city_name").String(),
|
|
Prov: res.Get("region_name").String(),
|
|
}, nil
|
|
}
|