Sample code for 30+ languages & platforms
DataFlex

geo.ipify.org IPv4 Geolocation Lookup

See more Geolocation Examples

Demonstrates how to lookup Geolocation data for an IPv4 address using the geo.ipify.org REST API.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoHttp
    String sJsonStr
    Handle hoJson
    String sIp
    String sLocationCountry
    String sLocationRegion
    String sLocationCity
    String sLocationLat
    String sLocationLng
    String sLocationPostalCode
    String sLocationTimezone
    String sTemp1
    Boolean bTemp1

    Move False To iSuccess

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

    Get Create (RefClass(cComChilkatHttp)) To hoHttp
    If (Not(IsComObjectCreated(hoHttp))) Begin
        Send CreateComObject of hoHttp
    End

    // Lookup an IPv4 address: 8.8.8.8
    Get ComQuickGetStr Of hoHttp "https://geo.ipify.org/api/v1?apiKey=API_KEY&ipAddress=8.8.8.8" To sJsonStr
    Get ComLastMethodSuccess Of hoHttp To bTemp1
    If (bTemp1 = False) Begin
        Get ComLastErrorText Of hoHttp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get Create (RefClass(cComChilkatJsonObject)) To hoJson
    If (Not(IsComObjectCreated(hoJson))) Begin
        Send CreateComObject of hoJson
    End
    Set ComEmitCompact Of hoJson To False
    Get ComLoad Of hoJson sJsonStr To iSuccess

    Get ComEmit Of hoJson To sTemp1
    Showln sTemp1

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

    // {
    //   "ip": "8.8.8.8",
    //   "location": {
    //     "country": "IT",
    //     "region": "Lombardy",
    //     "city": "Milan",
    //     "lat": 45.4707,
    //     "lng": 9.1889,
    //     "postalCode": "20147",
    //     "timezone": "+02:00"
    //   }
    // }

    Get ComStringOf Of hoJson "ip" To sIp
    Get ComStringOf Of hoJson "location.country" To sLocationCountry
    Get ComStringOf Of hoJson "location.region" To sLocationRegion
    Get ComStringOf Of hoJson "location.city" To sLocationCity
    Get ComStringOf Of hoJson "location.lat" To sLocationLat
    Get ComStringOf Of hoJson "location.lng" To sLocationLng
    Get ComStringOf Of hoJson "location.postalCode" To sLocationPostalCode
    Get ComStringOf Of hoJson "location.timezone" To sLocationTimezone


End_Procedure