Tcl
Tcl
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 Tcl Downloads
load ./chilkat.dll
set success 0
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set http [new_CkHttp]
# Lookup an IPv4 address: 8.8.8.8
set jsonStr [CkHttp_quickGetStr $http "https://geo.ipify.org/api/v1?apiKey=API_KEY&ipAddress=8.8.8.8"]
if {[CkHttp_get_LastMethodSuccess $http] == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
exit
}
set json [new_CkJsonObject]
CkJsonObject_put_EmitCompact $json 0
set success [CkJsonObject_Load $json $jsonStr]
puts [CkJsonObject_emit $json]
# 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"
# }
# }
set ip [CkJsonObject_stringOf $json "ip"]
set locationCountry [CkJsonObject_stringOf $json "location.country"]
set locationRegion [CkJsonObject_stringOf $json "location.region"]
set locationCity [CkJsonObject_stringOf $json "location.city"]
set locationLat [CkJsonObject_stringOf $json "location.lat"]
set locationLng [CkJsonObject_stringOf $json "location.lng"]
set locationPostalCode [CkJsonObject_stringOf $json "location.postalCode"]
set locationTimezone [CkJsonObject_stringOf $json "location.timezone"]
delete_CkHttp $http
delete_CkJsonObject $json