PHP Extension
PHP Extension
ipstack.com IPv4 Geolocation Lookup
See more Geolocation Examples
Demonstrates how to lookup Geolocation data for an IPv4 address using the ipstack.com REST API.Chilkat PHP Extension Downloads
<?php
include("chilkat.php");
$success = false;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
$http = new CkHttp();
// Lookup an IPv4 address: 149.250.207.170 (this was a randomly chosen address)
$jsonStr = $http->quickGetStr('http://api.ipstack.com/149.250.207.170?access_key=YOUR_ACCESS_KEY');
if ($http->get_LastMethodSuccess() == false) {
print $http->lastErrorText() . "\n";
exit;
}
$json = new CkJsonObject();
$json->put_EmitCompact(false);
$success = $json->Load($jsonStr);
print $json->emit() . "\n";
// 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
// }
// }
$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');
while ($i < $count_i) {
$json->put_I($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;
}
?>