Unicode C++
Unicode 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 Unicode C++ Downloads
#include <CkHttpW.h>
#include <CkJsonObjectW.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.
CkHttpW http;
// Lookup an IPv4 address: 8.8.8.8
const wchar_t *jsonStr = http.quickGetStr(L"https://geo.ipify.org/api/v1?apiKey=API_KEY&ipAddress=8.8.8.8");
if (http.get_LastMethodSuccess() == false) {
wprintf(L"%s\n",http.lastErrorText());
return;
}
CkJsonObjectW json;
json.put_EmitCompact(false);
success = json.Load(jsonStr);
wprintf(L"%s\n",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",
// "location": {
// "country": "IT",
// "region": "Lombardy",
// "city": "Milan",
// "lat": 45.4707,
// "lng": 9.1889,
// "postalCode": "20147",
// "timezone": "+02:00"
// }
// }
const wchar_t *ip = 0;
const wchar_t *locationCountry = 0;
const wchar_t *locationRegion = 0;
const wchar_t *locationCity = 0;
const wchar_t *locationLat = 0;
const wchar_t *locationLng = 0;
const wchar_t *locationPostalCode = 0;
const wchar_t *locationTimezone = 0;
ip = json.stringOf(L"ip");
locationCountry = json.stringOf(L"location.country");
locationRegion = json.stringOf(L"location.region");
locationCity = json.stringOf(L"location.city");
locationLat = json.stringOf(L"location.lat");
locationLng = json.stringOf(L"location.lng");
locationPostalCode = json.stringOf(L"location.postalCode");
locationTimezone = json.stringOf(L"location.timezone");
}