Lua
Lua
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 Lua Downloads
local chilkat = require("chilkat")
-- This example requires the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
local http = chilkat.Http.new()
-- Note: This is not a real API key. Replace with your own...
http:set_url_var("api_key", "2C312FBC9E667E5A0211F5152E5A1333")
http:set_url_var("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..
local jsonStr = http:quick_get_str("https://api.ip2location.io/?key={$api_key}&ip={$ip_address}&format=json")
if not http.last_method_success then
print(http.last_error_text)
return
end
local json = chilkat.JsonObject.new()
json.emit_compact = false
local success = json:load(jsonStr)
print(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
-- }
local ip = json:string_of("ip")
local country_code = json:string_of("country_code")
local country_name = json:string_of("country_name")
local region_name = json:string_of("region_name")
local city_name = json:string_of("city_name")
local latitude = json:string_of("latitude")
local longitude = json:string_of("longitude")
local zip_code = json:string_of("zip_code")
local time_zone = json:string_of("time_zone")
local asn = json:string_of("asn")
local v_as = json:string_of("as")
local is_proxy = json:bool_of("is_proxy")