Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(MFC) ipinfo.io IPv4 Geolocation LookupDemonstrates how to lookup Geolocation data for an IPv4 address using the ipinfo.io API.
#include <CkHttp.h> #include <CkJsonObject.h> void ChilkatSample(void) { CkString strOut; // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkHttp http; http.put_Login("ACCESS_TOKEN"); http.put_Password(""); http.put_Accept("application/json"); // Lookup an IPv4 address: 149.250.207.170 (this was a randomly chosen address) const char *jsonStr = http.quickGetStr("https://ipinfo.io/149.250.207.170"); if (http.get_LastMethodSuccess() == false) { strOut.append(http.lastErrorText()); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } CkJsonObject json; json.put_EmitCompact(false); bool success = json.Load(jsonStr); strOut.append(json.emit()); strOut.append("\r\n"); // Sample output: // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON // Note: This is the output for the free trial account. // // { // "ip": "149.250.207.170", // "city": "", // "region": "", // "country": "DE", // "loc": "51.2993,9.4910", // "org": "AS15854 EntServ Deutschland GmbH" // } // A full response would look like this: // { // "ip": "66.87.125.72", // "hostname": "66-87-125-72.pools.spcsdns.net", // "city": "Southbridge", // "region": "Massachusetts", // "country": "US", // "loc": "42.0707,-72.0440", // "postal": "01550", // "asn": { // "asn": "AS10507", // "name": "Sprint Personal Communications Systems", // "domain": "spcsdns.net", // "route": "66.87.125.0/24", // "type": "isp" // }, // "company": { // "name": "Sprint Springfield POP", // "domain": "sprint.com", // "type": "isp" // }, // "carrier": { // "name": "Sprint", // "mcc": "310", // "mnc": "120" // } // } // const char *ip = 0; const char *hostname = 0; const char *city = 0; const char *region = 0; const char *country = 0; const char *loc = 0; const char *postal = 0; const char *asnAsn = 0; const char *asnName = 0; const char *asnDomain = 0; const char *asnRoute = 0; const char *asnType = 0; const char *companyName = 0; const char *companyDomain = 0; const char *companyType = 0; const char *carrierName = 0; const char *carrierMcc = 0; const char *carrierMnc = 0; ip = json.stringOf("ip"); hostname = json.stringOf("hostname"); city = json.stringOf("city"); region = json.stringOf("region"); country = json.stringOf("country"); loc = json.stringOf("loc"); postal = json.stringOf("postal"); asnAsn = json.stringOf("asn.asn"); asnName = json.stringOf("asn.name"); asnDomain = json.stringOf("asn.domain"); asnRoute = json.stringOf("asn.route"); asnType = json.stringOf("asn.type"); companyName = json.stringOf("company.name"); companyDomain = json.stringOf("company.domain"); companyType = json.stringOf("company.type"); carrierName = json.stringOf("carrier.name"); carrierMcc = json.stringOf("carrier.mcc"); carrierMnc = json.stringOf("carrier.mnc"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); } |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.