C++
C++
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 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;
// Lookup an IPv4 address: 8.8.8.8
const char *jsonStr = http.quickGetStr("https://geo.ipify.org/api/v1?apiKey=API_KEY&ipAddress=8.8.8.8");
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",
// "location": {
// "country": "IT",
// "region": "Lombardy",
// "city": "Milan",
// "lat": 45.4707,
// "lng": 9.1889,
// "postalCode": "20147",
// "timezone": "+02:00"
// }
// }
const char *ip = 0;
const char *locationCountry = 0;
const char *locationRegion = 0;
const char *locationCity = 0;
const char *locationLat = 0;
const char *locationLng = 0;
const char *locationPostalCode = 0;
const char *locationTimezone = 0;
ip = json.stringOf("ip");
locationCountry = json.stringOf("location.country");
locationRegion = json.stringOf("location.region");
locationCity = json.stringOf("location.city");
locationLat = json.stringOf("location.lat");
locationLng = json.stringOf("location.lng");
locationPostalCode = json.stringOf("location.postalCode");
locationTimezone = json.stringOf("location.timezone");
}