Tcl
Tcl
ip-api.com IPv4 Geolocation Lookup
See more Geolocation Examples
Demonstrates how to lookup Geolocation data for an IPv4 address using the ip-api.com 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: 149.250.207.170 (this was a randomly chosen address)
set jsonStr [CkHttp_quickGetStr $http "http://ip-api.com/json/149.250.207.170"]
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
# {
# "as": "AS15854 Hewlett Packard GmbH",
# "city": "B�blingen",
# "country": "Germany",
# "countryCode": "DE",
# "isp": "Triaton Frankfurt",
# "lat": 48.6779,
# "lon": 8.97297,
# "org": "EntServ Deutschland GmbH",
# "query": "149.250.207.170",
# "region": "BW",
# "regionName": "Baden-W�rttemberg",
# "status": "success",
# "timezone": "Europe/Berlin",
# "zip": "71034"
# }
set as [CkJsonObject_stringOf $json "as"]
set city [CkJsonObject_stringOf $json "city"]
set country [CkJsonObject_stringOf $json "country"]
set countryCode [CkJsonObject_stringOf $json "countryCode"]
set isp [CkJsonObject_stringOf $json "isp"]
set lat [CkJsonObject_stringOf $json "lat"]
set lon [CkJsonObject_stringOf $json "lon"]
set org [CkJsonObject_stringOf $json "org"]
set query [CkJsonObject_stringOf $json "query"]
set region [CkJsonObject_stringOf $json "region"]
set regionName [CkJsonObject_stringOf $json "regionName"]
set status [CkJsonObject_stringOf $json "status"]
set timezone [CkJsonObject_stringOf $json "timezone"]
set zip [CkJsonObject_stringOf $json "zip"]
delete_CkHttp $http
delete_CkJsonObject $json