Unicode C
Unicode C
api.db-ip.com IPv4 Geolocation Lookup
See more Geolocation Examples
Demonstrates how to lookup Geolocation data for an IPv4 address using the api.db-ip.com REST API.Chilkat Unicode C Downloads
#include <C_CkHttpW.h>
#include <C_CkJsonObjectW.h>
void ChilkatSample(void)
{
BOOL success;
HCkHttpW http;
const wchar_t *jsonStr;
HCkJsonObjectW json;
const wchar_t *ipAddress;
const wchar_t *continentCode;
const wchar_t *continentName;
const wchar_t *countryCode;
const wchar_t *countryName;
const wchar_t *stateProv;
const wchar_t *city;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http = CkHttpW_Create();
// Lookup an IPv4 address: 149.250.207.170 (this was a randomly chosen address)
jsonStr = CkHttpW_quickGetStr(http,L"http://api.db-ip.com/v2/free/149.250.207.170");
if (CkHttpW_getLastMethodSuccess(http) == FALSE) {
wprintf(L"%s\n",CkHttpW_lastErrorText(http));
CkHttpW_Dispose(http);
return;
}
json = CkJsonObjectW_Create();
CkJsonObjectW_putEmitCompact(json,FALSE);
success = CkJsonObjectW_Load(json,jsonStr);
wprintf(L"%s\n",CkJsonObjectW_emit(json));
// Sample output:
// Use this online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
// {
// "ipAddress": "149.250.207.170",
// "continentCode": "EU",
// "continentName": "Europe",
// "countryCode": "DE",
// "countryName": "Germany",
// "stateProv": "Baden-W\u00fcrttemberg",
// "city": "B\u00f6blingen"
// }
ipAddress = CkJsonObjectW_stringOf(json,L"ipAddress");
continentCode = CkJsonObjectW_stringOf(json,L"continentCode");
continentName = CkJsonObjectW_stringOf(json,L"continentName");
countryCode = CkJsonObjectW_stringOf(json,L"countryCode");
countryName = CkJsonObjectW_stringOf(json,L"countryName");
stateProv = CkJsonObjectW_stringOf(json,L"stateProv");
city = CkJsonObjectW_stringOf(json,L"city");
CkHttpW_Dispose(http);
CkJsonObjectW_Dispose(json);
}