C Library
IP2Location C library enables the user to find the country, region, city, coordinates, zip code, time zone, ISP, domain name, connection type, area code, weather and mobile information 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 applications written in C or supporting static/dynamic library.
IP2Location C Library (1.29 MB)
Version: 5.0.0
Installation
- Decompress the archive.
tar xvfz ip2location-c-x.x.x.tar.gz - Navigate to working directory.
cd ip2location-c-x.x.x - Compile the library.
./configure
make
make check
make install - Copy the compiled to lib folder.
cp /usr/local/lib/libIP2Location.so /lib - 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-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 %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);
IP2Location_free_record(record);
IP2Location_close(IP2LocationObj);
Credit: Thanks to Markus Koetter & C.B. Fong for codes contribution.
Sample Database (BIN)
Evaluation version of the database file having limited range of IP address information. You can query all IP addresses from 0.0.0.0 to 99.255.255.255 only.
- IP2Location™ DB1 Sample BIN database (308.92 kB)
- IP2Location™ DB2 Sample BIN database (38.45 MB)
- IP2Location™ DB3 Sample BIN database (10.75 MB)
- IP2Location™ DB4 Sample BIN database (43.54 MB)
- IP2Location™ DB5 Sample BIN database (16.86 MB)
- IP2Location™ DB6 Sample BIN database (50.08 MB)
- IP2Location™ DB7 Sample BIN database (48.64 MB)
- IP2Location™ DB8 Sample BIN database (55.54 MB)
- IP2Location™ DB9 Sample BIN database (18.88 MB)
- IP2Location™ DB10 Sample BIN database (58.38 MB)
- IP2Location™ DB11 Sample BIN database (19.27 MB)
- IP2Location™ DB12 Sample BIN database (58.77 MB)
- IP2Location™ DB13 Sample BIN database (17.80 MB)
- IP2Location™ DB14 Sample BIN database (59.42 MB)
- IP2Location™ DB15 Sample BIN database (20.60 MB)
- IP2Location™ DB16 Sample BIN database (62.02 MB)
- IP2Location™ DB17 Sample BIN database (22.22 MB)
- IP2Location™ DB18 Sample BIN database (67.82 MB)
- IP2Location™ DB19 Sample BIN database (57.30 MB)
- IP2Location™ DB20 Sample BIN database (69.40 MB)
- IP2Location™ DB21 Sample BIN database (22.59 MB)
- IP2Location™ DB22 Sample BIN database (72.02 MB)
- IP2Location™ DB23 Sample BIN database (57.63 MB)
- IP2Location™ DB24 Sample BIN database (72.57 MB)
