==== GeoIP ================================================ Returns the location of an IP address. Based on the http://ipinfodb.com web service. To use the service user must have a API key, you may get it free after registration: http://ipinfodb.com/register.php. ----- Usage ----------------------------------------------- --- Before using You must start the daemon before calling any of the functions 1> geoip:start("API_key"). {ok, <0.44.0>} --- Lookup geolocation 2> geoip:geolocation(). #response{ ip = {95,30,242,238}, status = "OK", country_code = "RU", country_name = "Russian Federation", region_code = 48, region_name = "Moscow City", city = "Moscow", zip_postal_code = undefined, latitude = 55.7522, longitude = 37.6156, ... } or 3> geoip:geolocation({74, 125, 232, 17}). #response{ ip = {74,125,232,17}, status = "OK", country_code = "US", country_name = "United States", region_code = 6, region_name = "California", city = "Mountain View", zip_postal_code = 94043, latitude = 37.4192, longitude = -122.057, ... } --- Country precision (faster) 4> geoip:geolocation(#options {precision=country}). #response{ ip = {2,95,9,156}, status = "OK", country_code = "RU", country_name = "Russian Federation", ... } or 5> geoip:geolocation({74, 125, 232, 17}, #options {precision=country}). #response{ ip = {74,125,232,17}, status = "OK", country_code = "US", country_name = "United States", ... } --- Add timezone data 6> geoip:geolocation(#options {timezone = true}). #response{ ip = {2,95,9,156}, status = "OK", country_code = "RU", country_name = "Russian Federation", region_code = 48, region_name = "Moscow City", city = "Moscow", zip_postal_code = undefined, latitude = 55.7522, longitude = 37.6156, timezone = "Europe/Moscow", utc_offset = 10800, dst = false } or 7> geoip:geolocation({74,125,232,17}, #options {timezone = true}). #response{ ip = {74,125,232,17}, status = "OK", country_code = "US", country_name = "United States", region_code = 6, region_name = "California", city = "Mountain View", zip_postal_code = 94043, latitude = 37.4192, longitude = -122.057, timezone = "America/Los_Angeles", utc_offset = -25200, dst = true } --- Lookup your IP address 8> geoip:ip(). {2,95,9,156} ----- Compile & test -------------------------------------- make cd ebin ./test.escript API_key ----- Copyright ------------------------------------------- Copyright (c) 2010 Andrey Nesterov. See LICENSE for details.