Coder Social home page Coder Social logo

geoip-api-java's Introduction

To get started, run

cd source/com/maxmind/geoip/
javac *.java
cd -
CLASSPATH=".:source" javac *.java
CLASSPATH=".:source" java CountryLookupTest

By default, CountryLookupTest expects to find the
GeoIP Country database in /usr/local/share/GeoIP/GeoIP.dat

IMPORTANT API Change for 1.1.x users - as of GeoIP 1.1.0 the
lookupCountryXxxx methods return null if a country can not
be found (it used to return '--' or 'N/A'.  Be sure to check the
return value for null !

This is version 1.2.3 of the Java interface to GeoIP.  For more information
see http://www.maxmind.com/

As of version 1.1.4 this API is fully thread safe.

To get started for GeoIP Country, look at the code in CountryLookupTest.java.

CityLookupTest.java contains an example for the MaxMind GeoIP City database.
OrgLookupTest.java contains examples for the GeoIP Organization and ISP databases.
RegionLookupTest.java contains an example for the MaxMind GeoIP Region database.
NetspeedLookupTest.java contains an example for the MaxMind GeoIP Netspeed database.

BenchmarkGeoIP.java contains benchmarks for various databases using various options.

Note that CountryLookupTest assumes that you have the GeoIP Country database
installed at /usr/local/share/GeoIP/GeoIP.dat

A free GeoLite Country database is available from:
http://dev.maxmind.com/geoip/geolite

A free GeoLite City database is available from:
http://dev.maxmind.com/geoip/geolite

MaxMind GeoIP Country offers greater accuracy over the free database.
MaxMind GeoIP Country, Region, City, ISP, and Organization are available
for purchase from here:
https://www.maxmind.com/en/geolocation_landing

Please send any comments to [email protected]

To generate the JAR file, cd to the source directory and run

jar cf maxmindgeoip.jar com/maxmind/geoip/Country.class com/maxmind/geoip/DatabaseInfo.class com/maxmind/geoip/Location.class com/maxmind/geoip/LookupService.class com/maxmind/geoip/Region.class com/maxmind/geoip/regionName.class com/maxmind/geoip/timeZone.class

MEMORY CACHING AND OTHER OPTIONS
================================
The following options can be passed as the second parameter to the
LookupService constructor:

GEOIP_STANDARD - read database from filesystem, uses least memory.

GEOIP_MEMORY_CACHE - load database into memory, faster performance
        but uses more memory

GEOIP_CHECK_CACHE - check for updated database.  If database has been updated,
        reload filehandle and/or memory cache.

GEOIP_INDEX_CACHE - just cache
        the most frequently accessed index portion of the database, resulting
        in faster lookups than GEOIP_STANDARD, but less memory usage than
        GEOIP_MEMORY_CACHE - useful for larger databases such as
        GeoIP Organization and GeoIP City.  Note, for GeoIP Country, Region
        and Netspeed databases, GEOIP_INDEX_CACHE is equivalent to GEOIP_MEMORY_CACHE

Note the options can be combined, for example:
LookupService cl = new LookupService(dbfile, LookupService.GEOIP_MEMORY_CACHE | LookupService.GEOIP_CHECK_CACHE);

Windows Notes 
========================
If it doesn't work on Windows, try to remove or comment out all the "package com.maxmind.geoip" lines 
from all the files.

geoip-api-java's People

Contributors

borisz avatar oschwald avatar tjmather avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.