Get Started With IP2location Perl Module

Dependencies

This library requires IP2Location BIN database to function. You may download the BIN database at


Installation

  1. Download perl module and sample database sample.bin.dbx.zip.

  2. Decompress the module.

  3. Install Geo::IP2Location module.

    perl Makefile.PL
    make
    make test
    make install
    
  4. 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();

};

IP2Location Sample Database (BIN)

The sample BIN files have a limited scope and are only valid for the following IP ranges:

  1. IPv4 : 0.0.0.0 - 7.255.255.255
  2. IPv6 : 2a04:0000:0000:0000:0000:0000:0000:0000 - 2a04:ffff:ffff:ffff:ffff:ffff:ffff:fff