NAME
Net::IPInfoDB - Perl interface to ipinfodb.com's Geolocation XML API
SYNOPSIS
use Net::IPInfoDB;
my $g = Net::IPInfoDB->new($key);
my $c = $g->get_city("128.103.1.1");
USAGE
Net::IPInfoDB
makes use of the free Geolocation API from ipinfodb.com. Note that you'll need to register your app for a (free) API key in order to use this module. Information on the API is available at http://ipinfodb.com/ip_location_api.php
.
Basic usage follows the API petty closely:
use Net::IPInfoDB;
my $g = Net::IPInfoDB->new;
$g->key($api_key);
my $addr = $g->get_city($ip_address);
Get data from the returned object via method calls:
printf "%s is located at (%s, %s)\n",
$addr->ip_address, $addr->latitude, $addr->longitude;
These methods are detailed below.
METHODS
- new
-
Creates a new
Net::IPInfoDB
instance.Optionally takes a key as the first argument; if provided, will call the
key
method for you. If the $ENV{IPINFODB_TOKEN} exists,Net::IPInfoDB
assumes it contains the token and will callkey($ENV{IPINFODB_TOKEN})
for you. - key
-
Use
key
to specify your API key. Callingget_city
orget_country
without specifying a key will result in a failure. - get_country
-
Returns country-level details about the host or ip address. Takes an IP address or hostname as the only argument. Returns a
Net::IPInfoDB::Result
object. - get_city
-
Returns city-level details, which is more resource-intensive on the server. If you only need the country name, avoid using the city precision API. Returns a
Net::IPInfoDB::Result
object.
CACHING
Net::IPInfoDB
does not do any caching of responses. You should definitely cache your responses using Cache::Cache
or something similar.
Net::IPInfoDB::Results object
The get_city
and get_country
methods return a Net::IPInfoDB::Result
object, which has the following read-only methods, which correspond directly to the data returned:
- status_code
- status_message
- ip_address
- country_code
- country_name
- region_name
- city_name
- zip_code
- latitude
- longitude
- timezone
There is also the following additional methods:
- web_uri
-
web_uri
returns the web URI of the IP, for fancier viewing. - fields
-
fields
returns an array of fieldnames in theNet::IPInfoDB::Result
object, for iteration.
AUTHOR
Darren Chamberlain <darren@cpan.org>
VERSION
This is version 3.0. Note that the major version of Net::IPInfoDB
matches the ipinfodb.com API version.