Free / Open Source
C Library
PHP Module
Perl Module
Ruby Library
Python Library
Apache Module
Nginx Module
Node.js Module
Cocoa / Objective C Library
Pascal Library
D Library
Go Package
Erlang Module
Haskell Package
Debian Package
Lua Package
Kotlin Module
Scala Library
OpenResty Package
Splunk Add-on
Apache Kafka Transform
OCaml Module
Deno Module
R Package
.NET Component
Java Component
HTTP Module
ActiveX / COM DLL
IP2Location IP Geolocation C Library
IP2Location IP Geolocation C library enables the user to find the country, region, city, coordinates, ZIP code, time zone, ISP, domain name, connection type, area code, weather, MCC, MNC, mobile brand name, elevation and usage type that any IP address or hostname originates from. It has been optimized for speed and memory utilization. Developers can use the API to query all IP2Location™ binary databases for IPv4 and IPv6 address.
Installation
Unix/Linux
- Decompress the archive.
- Navigate to working directory.
cd IP2Location-C-Library-master
-
Run the following commands:
autoreconf -i -v --force ./configure make make install cd data perl ip-country.pl
- To test it, go to test folder.
cd test
- And run the sample application
test-IP2Location
Windows
- Decompress the archive.
- Open command prompt and navigate to Microsoft Visual Studio Visual C directory and execute vcvarsall.bat or vcvars32.bat. (Alternatively, open Visual Studio Command Prompt located in the start menu under Microsoft Visual Studio\Visual Studio Tools)
- Navigate to working directory.
cd IP2Location-C-Library-master
-
Run the following commands:
nmake Makefile.win cd data perl ip-country.pl
- To test it, go to test folder.
cd test
- And run the sample application
test-IP2Location
MacOS
- Decompress the archive.
- Navigate to working directory.
cd IP2Location-C-Library-master
-
Run the following commands:
autoreconf -i -v --force export CFLAGS=-I/usr/include/malloc ./configure make make install cd data perl ip-country.pl
- To test it, go to test folder.
cd test
- And run the sample application
test-IP2Location
Sample Codes
#include "IP2Location.h"
IP2Location *IP2LocationObj = IP2Location_open("../data/IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ZIPCODE-TIMEZONE-ISP-DOMAIN-NETSPEED-AREACODE-WEATHER-MOBILE-ELEVATION-USAGETYPE-ADDRESSTYPE-CATEGORY-SAMPLE.BIN");
IP2LocationRecord *record = IP2Location_get_all(IP2LocationObj, "161.11.12.13");
printf("%s %s %s %s %s %f %f %s %s %s %s %s %s %s %s %s %s %s %f %s %s %s\n",
record->country_short,
record->country_long,
record->region,
record->city,
record->isp,
record->latitude,
record->longitude,
record->domain,
record->zipcode,
record->timezone,
record->netspeed,
record->iddcode,
record->areacode,
record->weatherstationcode,
record->weatherstationname,
record->mcc,
record->mnc,
record->mobilebrand,
record->elevation,
record->usagetype,
record->address_type,
record->category);
IP2Location_free_record(record);
IP2Location_close(IP2LocationObj);
Sample IP2Location Databases (BIN)
- How to install and use IP2Trace on Linux for traceroute
- How to redirect on Varnish using IP2Location data
- Integrating IP2Location C Library With Go Programming Language
- Redirect URL with the Apache Web Server using IP2Location
- How to display country code in the Apache log using the IP2Location Apache module