Objective-C
Objective-C
ipinfo.io IPv4 Geolocation Lookup
See more Geolocation Examples
Demonstrates how to lookup Geolocation data for an IPv4 address using the ipinfo.io API.Chilkat Objective-C Downloads
#import <CkoHttp.h>
#import <NSString.h>
#import <CkoJsonObject.h>
BOOL success = NO;
// 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 = @"ACCESS_TOKEN";
http.Password = @"";
http.Accept = @"application/json";
// Lookup an IPv4 address: 149.250.207.170 (this was a randomly chosen address)
NSString *jsonStr = [http QuickGetStr: @"https://ipinfo.io/149.250.207.170"];
if (http.LastMethodSuccess == NO) {
NSLog(@"%@",http.LastErrorText);
return;
}
CkoJsonObject *json = [[CkoJsonObject alloc] init];
json.EmitCompact = NO;
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
// 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"
// }
// }
//
NSString *ip = 0;
NSString *hostname = 0;
NSString *city = 0;
NSString *region = 0;
NSString *country = 0;
NSString *loc = 0;
NSString *postal = 0;
NSString *asnAsn = 0;
NSString *asnName = 0;
NSString *asnDomain = 0;
NSString *asnRoute = 0;
NSString *asnType = 0;
NSString *companyName = 0;
NSString *companyDomain = 0;
NSString *companyType = 0;
NSString *carrierName = 0;
NSString *carrierMcc = 0;
NSString *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"];