C
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 C Downloads
#include <C_CkHttp.h>
#include <C_CkJsonObject.h>
void ChilkatSample(void)
{
BOOL success;
HCkHttp http;
const char *jsonStr;
HCkJsonObject json;
const char *ipAddress;
const char *continentCode;
const char *continentName;
const char *countryCode;
const char *countryName;
const char *stateProv;
const char *city;
success = FALSE;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http = CkHttp_Create();
// Lookup an IPv4 address: 149.250.207.170 (this was a randomly chosen address)
jsonStr = CkHttp_quickGetStr(http,"http://api.db-ip.com/v2/free/149.250.207.170");
if (CkHttp_getLastMethodSuccess(http) == FALSE) {
printf("%s\n",CkHttp_lastErrorText(http));
CkHttp_Dispose(http);
return;
}
json = CkJsonObject_Create();
CkJsonObject_putEmitCompact(json,FALSE);
success = CkJsonObject_Load(json,jsonStr);
printf("%s\n",CkJsonObject_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 = CkJsonObject_stringOf(json,"ipAddress");
continentCode = CkJsonObject_stringOf(json,"continentCode");
continentName = CkJsonObject_stringOf(json,"continentName");
countryCode = CkJsonObject_stringOf(json,"countryCode");
countryName = CkJsonObject_stringOf(json,"countryName");
stateProv = CkJsonObject_stringOf(json,"stateProv");
city = CkJsonObject_stringOf(json,"city");
CkHttp_Dispose(http);
CkJsonObject_Dispose(json);
}