WebService::IPAPI - Perl library for IPAPI's Geolocation API, https://ipapi.com.
use WebService::IPAPI;
my $ipapi = WebService::IPAPI->new(api_key => '1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx32');
$ipapi->query('8.8.8.8');
# Only for Pro plan.
$ipapi->query(['8.8.8.8', '8.8.4.4']);
WebService::IPAPI is a Perl library for obtaining information on IPv4 or IPv6 address.
Source repository at https://github.com/kianmeng/webservice-ipapi.
How to contribute? Follow through the CONTRIBUTING.md document to setup your development environment.
Construct a new WebService::IPAPI instance.
Compulsory. The API access key used to make request through web service.
Optional. The API subscription plan used when accessing the API. There are four subscription plans: free, standard, business, and business_pro. The subscription plan is 'free'. The main difference between free and non-free subscription plans are HTTPS encryption protocol support and additional information.
# The API request URL is http://api.ipapi.com/api/
my $ipapi = WebService::IPAPI->new(api_key => '1xxxxxxxxxxxxxxxxxxxxxxxxxxxxx32');
print $ipapi->api_url;
# The API request URL is https://api.ipapi.com/api/
my $ipapi = WebService::IPAPI->new(
api_key => '1xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx32',
api_plan => 'standard'
);
print $ipapi->api_url;
The default API hostname and path. The protocol depends on the subscription plan.
Query and get an IP address information. Optionally you can add more settings to adjust the output.
my $ipapi = WebService::IPAPI->new(api_key => '1xxxxxxxxxxxxxxxxxxxxxxxxxxxxx32');
$ipapi->query('8.8.8.8');
# With optional parameters.
$ipapi->query('8.8.8.8', {hostname => 1, security => 1, output => 'xml'});
Only for paid subscription plans (standard, business, business_pro). Query and get multiple IP addresses information. Optionally you can add more settings to adjust the output.
my $ipapi = WebService::IPAPI->new(
api_key => '1xxxxxxxxxxxxxxxxxxxxxxxxxxxxx32',
api_plan => 'standard'
);
$ipapi->query(['8.8.8.8', '8.8.4.4']);
# With optional parameters.
$ipapi->query(['8.8.8.8', '8.8.4.4'], {language => 'zh'});
Look up the IP address details of the client which made the web service call. Optionally you can add more settings to adjust the output.
my $ipapi = WebService::IPAPI->new(api_key => '1xxxxxxxxxxxxxxxxxxxxxxxxxxxxx32');
$ipapi->check();
# With optional parameters.
$ipapi->check({hostname => 1, security => 1, output => xml});
Kian Meng, Ang [email protected]
This software is Copyright (c) 2019 Kian Meng, Ang.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)