Sample code for 30+ languages & platforms
Go

ip2location.io GeoLocation API

See more Geolocation Examples

Demonstrates how to lookup Geolocation data for an IPv4 address using the ip2location.io GeoLocation API.

Chilkat Go Downloads

Go
    success := false

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    http := chilkat.NewHttp()

    // Note: This is not a real API key.  Replace with your own...
    http.SetUrlVar("api_key","2C312FBC9E667E5A0211F5152E5A1333")
    http.SetUrlVar("ip_address","8.8.8.8")

    // Note: When first creating an ip2location.io account, make sure to at least subscribe to the free access.
    // Otherwise your API key will not yet work..
    jsonStr := http.QuickGetStr("https://api.ip2location.io/?key={$api_key}&ip={$ip_address}&format=json")
    if http.LastMethodSuccess() == false {
        fmt.Println(http.LastErrorText())
        http.DisposeHttp()
        return
    }

    json := chilkat.NewJsonObject()
    json.SetEmitCompact(false)
    success = json.Load(*jsonStr)

    fmt.Println(*json.Emit())

    // Sample output:
    // Use this online tool to generate parsing code from sample JSON: 
    // Generate Parsing Code from JSON

    // {
    //   "ip": "8.8.8.8",
    //   "country_code": "US",
    //   "country_name": "United States of America",
    //   "region_name": "California",
    //   "city_name": "Mountain View",
    //   "latitude": 37.405992,
    //   "longitude": -122.078515,
    //   "zip_code": "94043",
    //   "time_zone": "-07:00",
    //   "asn": "15169",
    //   "as": "Google LLC",
    //   "is_proxy": false
    // }

    ip := json.StringOf("ip")
    country_code := json.StringOf("country_code")
    country_name := json.StringOf("country_name")
    region_name := json.StringOf("region_name")
    city_name := json.StringOf("city_name")
    latitude := json.StringOf("latitude")
    longitude := json.StringOf("longitude")
    zip_code := json.StringOf("zip_code")
    time_zone := json.StringOf("time_zone")
    asn := json.StringOf("asn")
    v_as := json.StringOf("as")
    is_proxy := json.BoolOf("is_proxy")

    http.DisposeHttp()
    json.DisposeJsonObject()