| 21 | } |
| 22 | |
| 23 | func IPinfo(ip string, token string) IPinfoResult { |
| 24 | var result IPinfoResult |
| 25 | http := Ghttp.Http{} |
| 26 | http.New("GET", fmt.Sprintf("https://ipinfo.io/%s/json", ip)) |
| 27 | if token != "" { |
| 28 | http.SetHeader("Authorization", fmt.Sprintf("Bearer %s", token)) |
| 29 | } |
| 30 | http.Execute() |
| 31 | defer http.Close() |
| 32 | ret, err := http.Byte() |
| 33 | if err != nil { |
| 34 | log.Println("[!] IPinfo Error: ", err) |
| 35 | return result |
| 36 | } |
| 37 | if err = json.Unmarshal(ret, &result); err != nil { |
| 38 | log.Println("[!] IPinfo Unmarshal Error: ", err) |
| 39 | } |
| 40 | return result |
| 41 | |
| 42 | } |