C++
C++
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 C++ Downloads
#include <CkHttp.h>
#include <CkJsonObject.h>
void ChilkatSample(void)
{
bool success = false;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkHttp http;
// 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..
const char *jsonStr = http.quickGetStr("https://api.ip2location.io/?key={$api_key}&ip={$ip_address}&format=json");
if (http.get_LastMethodSuccess() == false) {
std::cout << http.lastErrorText() << "\r\n";
return;
}
CkJsonObject json;
json.put_EmitCompact(false);
success = json.Load(jsonStr);
std::cout << json.emit() << "\r\n";
// 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
// }
const char *ip = json.stringOf("ip");
const char *country_code = json.stringOf("country_code");
const char *country_name = json.stringOf("country_name");
const char *region_name = json.stringOf("region_name");
const char *city_name = json.stringOf("city_name");
const char *latitude = json.stringOf("latitude");
const char *longitude = json.stringOf("longitude");
const char *zip_code = json.stringOf("zip_code");
const char *time_zone = json.stringOf("time_zone");
const char *asn = json.stringOf("asn");
const char *v_as = json.stringOf("as");
bool is_proxy = json.BoolOf("is_proxy");
}