Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Objective-C) MaxMind IPv4 Geolocation LookupDemonstrates how to lookup Geolocation data for an IPv4 address using the MaxMind GeoIP2 Precision Web Service.
#import <CkoHttp.h> #import <NSString.h> #import <CkoJsonObject.h> // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. CkoHttp *http = [[CkoHttp alloc] init]; http.Login = @"MAXMIND_ACCOUNT_ID"; http.Password = @"MAXMIND_LICENSE_KEY"; http.Accept = @"application/json"; // Lookup an IPv4 address: 149.250.207.170 (this was a randomly chosen address) NSString *jsonStr = [http QuickGetStr: @"https://geoip.maxmind.com/geoip/v2.1/country/149.250.207.170"]; if (http.LastMethodSuccess == NO) { NSLog(@"%@",http.LastErrorText); return; } CkoJsonObject *json = [[CkoJsonObject alloc] init]; json.EmitCompact = NO; BOOL success = [json Load: jsonStr]; NSLog(@"%@",[json Emit]); // Sample output: // Use this online tool to generate parsing code from sample JSON: // Generate Parsing Code from JSON // { // "continent": { // "code": "EU", // "geoname_id": 6255148, // "names": { // "ja": "?????", // "pt-BR": "Europa", // "ru": "??????", // "zh-CN": "??", // "de": "Europa", // "en": "Europe", // "es": "Europa", // "fr": "Europe" // } // }, // "country": { // "is_in_european_union": true, // "iso_code": "DE", // "geoname_id": 2921044, // "names": { // "fr": "Allemagne", // "ja": "????????", // "pt-BR": "Alemanha", // "ru": "????????", // "zh-CN": "??", // "de": "Deutschland", // "en": "Germany", // "es": "Alemania" // } // }, // "maxmind": { // "queries_remaining": 49999 // }, // "registered_country": { // "is_in_european_union": true, // "iso_code": "DE", // "geoname_id": 2921044, // "names": { // "es": "Alemania", // "fr": "Allemagne", // "ja": "????????", // "pt-BR": "Alemanha", // "ru": "????????", // "zh-CN": "??", // "de": "Deutschland", // "en": "Germany" // } // }, // "traits": { // "ip_address": "149.250.207.170" // } // } // // NSString *continentCode = 0; int continentGeoname_id; NSString *continentNamesJa = 0; NSString *continentNamesPt_BR = 0; NSString *continentNamesRu = 0; NSString *continentNamesZh_CN = 0; NSString *continentNamesDe = 0; NSString *continentNamesEn = 0; NSString *continentNamesEs = 0; NSString *continentNamesFr = 0; BOOL countryIs_in_european_union; NSString *countryIso_code = 0; int countryGeoname_id; NSString *countryNamesFr = 0; NSString *countryNamesJa = 0; NSString *countryNamesPt_BR = 0; NSString *countryNamesRu = 0; NSString *countryNamesZh_CN = 0; NSString *countryNamesDe = 0; NSString *countryNamesEn = 0; NSString *countryNamesEs = 0; int maxmindQueries_remaining; BOOL registered_countryIs_in_european_union; NSString *registered_countryIso_code = 0; int registered_countryGeoname_id; NSString *registered_countryNamesEs = 0; NSString *registered_countryNamesFr = 0; NSString *registered_countryNamesJa = 0; NSString *registered_countryNamesPt_BR = 0; NSString *registered_countryNamesRu = 0; NSString *registered_countryNamesZh_CN = 0; NSString *registered_countryNamesDe = 0; NSString *registered_countryNamesEn = 0; NSString *traitsIp_address = 0; continentCode = [json StringOf: @"continent.code"]; continentGeoname_id = [[json IntOf: @"continent.geoname_id"] intValue]; continentNamesJa = [json StringOf: @"continent.names.ja"]; continentNamesPt_BR = [json StringOf: @"continent.names.pt-BR"]; continentNamesRu = [json StringOf: @"continent.names.ru"]; continentNamesZh_CN = [json StringOf: @"continent.names.zh-CN"]; continentNamesDe = [json StringOf: @"continent.names.de"]; continentNamesEn = [json StringOf: @"continent.names.en"]; continentNamesEs = [json StringOf: @"continent.names.es"]; continentNamesFr = [json StringOf: @"continent.names.fr"]; countryIs_in_european_union = [json BoolOf: @"country.is_in_european_union"]; countryIso_code = [json StringOf: @"country.iso_code"]; countryGeoname_id = [[json IntOf: @"country.geoname_id"] intValue]; countryNamesFr = [json StringOf: @"country.names.fr"]; countryNamesJa = [json StringOf: @"country.names.ja"]; countryNamesPt_BR = [json StringOf: @"country.names.pt-BR"]; countryNamesRu = [json StringOf: @"country.names.ru"]; countryNamesZh_CN = [json StringOf: @"country.names.zh-CN"]; countryNamesDe = [json StringOf: @"country.names.de"]; countryNamesEn = [json StringOf: @"country.names.en"]; countryNamesEs = [json StringOf: @"country.names.es"]; maxmindQueries_remaining = [[json IntOf: @"maxmind.queries_remaining"] intValue]; registered_countryIs_in_european_union = [json BoolOf: @"registered_country.is_in_european_union"]; registered_countryIso_code = [json StringOf: @"registered_country.iso_code"]; registered_countryGeoname_id = [[json IntOf: @"registered_country.geoname_id"] intValue]; registered_countryNamesEs = [json StringOf: @"registered_country.names.es"]; registered_countryNamesFr = [json StringOf: @"registered_country.names.fr"]; registered_countryNamesJa = [json StringOf: @"registered_country.names.ja"]; registered_countryNamesPt_BR = [json StringOf: @"registered_country.names.pt-BR"]; registered_countryNamesRu = [json StringOf: @"registered_country.names.ru"]; registered_countryNamesZh_CN = [json StringOf: @"registered_country.names.zh-CN"]; registered_countryNamesDe = [json StringOf: @"registered_country.names.de"]; registered_countryNamesEn = [json StringOf: @"registered_country.names.en"]; traitsIp_address = [json StringOf: @"traits.ip_address"]; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.