Get Started With IP2location Perl Module
Dependencies
This library requires IP2Location BIN database to function. You may download the BIN database at
IP2Location LITE BIN Data (Free): https://lite.ip2location.com
IP2Location Commercial BIN Data (Comprehensive):https://www.ip2location.com
Installation
Download perl module and sample database sample.bin.dbx.zip.
Decompress the module.
-
Install Geo::IP2Location module.
perl Makefile.PL make make test make install
-
Decompress the sample database.
unzip sample.bin.dbx.zip
Sample Codes
Query geolocation information from BIN database
You can query the geolocation information from the IP2Location BIN database as below:
use Geo::IP2Location;
eval {
$obj = Geo::IP2Location->open("IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ZIPCODE-TIMEZONE-ISP-DOMAIN-NETSPEED-AREACODE-WEATHER-MOBILE-ELEVATION-USAGETYPE-SAMPLE.BIN");
if (!defined($obj)) {
print STDERR Geo::IP2Location::get_last_error_message();
}
my $countryshort = $obj->get_country_short("20.11.187.239");
my $countrylong = $obj->get_country_long("20.11.187.239");
my $region = $obj->get_region("20.11.187.239");
my $city = $obj->get_city("20.11.187.239");
my $latitude = $obj->get_latitude("20.11.187.239");
my $longitude = $obj->get_longitude("20.11.187.239");
my $isp = $obj->get_isp("20.11.187.239");
my $domain = $obj->get_domain("20.11.187.239");
my $zipcode = $obj->get_zipcode("20.11.187.239");
my $timezone = $obj->get_timezone("20.11.187.239");
my $netspeed = $obj->get_netspeed("20.11.187.239");
my $iddcode = $obj->get_iddcode("20.11.187.239");
my $areacode = $obj->get_areacode("20.11.187.239");
my $weatherstationcode = $obj->get_weatherstationcode("20.11.187.239");
my $weatherstationname = $obj->get_weatherstationname("20.11.187.239");
my $mcc = $obj->get_mcc("20.11.187.239");
my $mnc = $obj->get_mnc("20.11.187.239");
my $mobilebrand = $obj->get_mobilebrand("20.11.187.239");
my $elevation = $obj->get_elevation("20.11.187.239");
my $usagetype = $obj->get_usagetype("20.11.187.239");
my $addresstype = $obj->get_addresstype("20.11.187.239");
my $category = $obj->get_category("20.11.187.239");
my ($countryshort, $countrylong, $region, $city, $latitude, $longitude, $zipcode, $timezone, $isp, $domain, $netspeed, $iddcode, $areacode, $weatherstationcode, $weatherstationname, $mcc, $mnc, $mobilebrand, $elevation, $usagetype, $addresstype, $category) = $obj->get_all("20.11.187.239");
$obj->close();
} or do {
print STDERR Geo::IP2Location::get_last_error_message();
};