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) ipstack.com IPv4 Geolocation LookupDemonstrates how to lookup Geolocation data for an IPv4 address using the ipstack.com REST API.
#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]; // Lookup an IPv4 address: 149.250.207.170 (this was a randomly chosen address) NSString *jsonStr = [http QuickGetStr: @"http://api.ipstack.com/149.250.207.170?access_key=YOUR_ACCESS_KEY"]; 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 // { // "ip": "149.250.207.170", // "type": "ipv4", // "continent_code": "EU", // "continent_name": "Europe", // "country_code": "DE", // "country_name": "Germany", // "region_code": null, // "region_name": null, // "city": null, // "zip": null, // "latitude": 51.2993, // "longitude": 9.491, // "location": { // "geoname_id": null, // "capital": "Berlin", // "languages": [ // { // "code": "de", // "name": "German", // "native": "Deutsch" // } // ], // "country_flag": "http:\/\/assets.ipstack.com\/flags\/de.svg", // "country_flag_emoji": "\ud83c\udde9\ud83c\uddea", // "country_flag_emoji_unicode": "U+1F1E9 U+1F1EA", // "calling_code": "49", // "is_eu": true // } // } NSString *ip = 0; NSString *v_type = 0; NSString *continent_code = 0; NSString *continent_name = 0; NSString *country_code = 0; NSString *country_name = 0; NSString *region_code = 0; NSString *region_name = 0; NSString *city = 0; NSString *zip = 0; NSString *latitude = 0; NSString *longitude = 0; NSString *locationGeoname_id = 0; NSString *locationCapital = 0; NSString *locationCountry_flag = 0; NSString *locationCountry_flag_emoji = 0; NSString *locationCountry_flag_emoji_unicode = 0; NSString *locationCalling_code = 0; BOOL locationIs_eu; int i; int count_i; NSString *code = 0; NSString *name = 0; NSString *native = 0; ip = [json StringOf: @"ip"]; v_type = [json StringOf: @"type"]; continent_code = [json StringOf: @"continent_code"]; continent_name = [json StringOf: @"continent_name"]; country_code = [json StringOf: @"country_code"]; country_name = [json StringOf: @"country_name"]; region_code = [json StringOf: @"region_code"]; region_name = [json StringOf: @"region_name"]; city = [json StringOf: @"city"]; zip = [json StringOf: @"zip"]; latitude = [json StringOf: @"latitude"]; longitude = [json StringOf: @"longitude"]; locationGeoname_id = [json StringOf: @"location.geoname_id"]; locationCapital = [json StringOf: @"location.capital"]; locationCountry_flag = [json StringOf: @"location.country_flag"]; locationCountry_flag_emoji = [json StringOf: @"location.country_flag_emoji"]; locationCountry_flag_emoji_unicode = [json StringOf: @"location.country_flag_emoji_unicode"]; locationCalling_code = [json StringOf: @"location.calling_code"]; locationIs_eu = [json BoolOf: @"location.is_eu"]; i = 0; count_i = [[json SizeOfArray: @"location.languages"] intValue]; while (i < count_i) { json.I = [NSNumber numberWithInt: i]; code = [json StringOf: @"location.languages[i].code"]; name = [json StringOf: @"location.languages[i].name"]; native = [json StringOf: @"location.languages[i].native"]; i = i + 1; } |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.