2013-07-05 3 views
0

OK les gars, je sais qu'il y a beaucoup de questions déjà posées sur l'obtention de données de localisation à partir d'adresses IP, mais mes questions sont légèrement uniques; plus je ne possède pas encore assez de compréhension des concepts affichés dans ces discussions pour reconstituer mon puzzle particulier.Comment passer des adresses IP de la base de données à un localisateur de géolocalisation et renvoyer des données?

Dans mon programme Java je tire des données à partir d'une base de données qui contient de l'information de menace pour la sécurité, y compris l'attaque IP. Je veux utiliser cette adresse IP attaquante dans un localisateur de géolocalisation et l'afficher dans mon interface graphique.

La plupart des autres questions qui se rapportent à ce concept de localisation IP traite javascript qui me laisse un peu à l'écart. J'ai également vu l'API geoGoogle recommandée, mais il semble qu'ils ont maintenant une limite: http://geo-google.sourceforge.net/index.html

Quelle serait la meilleure façon d'y parvenir, ou peut-être quel outil est le mieux adapté? Je suis un programmeur débutant et j'ai peur de n'avoir aucune expérience de ce type de problème/tâche.

Répondre

0

Puisque vous utilisez Java, vous pouvez regarder en libre de MaxMind GeoLite database. Vous n'avez pas besoin d'un serveur SQL pour l'utiliser car le Java API lit les données directement à partir du fichier de base de données. Vous pouvez télécharger l'API directement à partir du site Web MaxMind ou du référentiel central Maven.

Voici un exemple de la façon dont vous utilisez l'API Java GeoIP:

LookupService ls = new LookupService("/usr/local/share/GeoIP/GeoIPCity.dat"); 
Location location = cl.getLocation("213.52.50.8"); 
System.out.println(location.countryName); 
System.out.println(location.city); 
... 

Vous pouvez également voir this tutorial et this example.

MaxMind fournit également paid web services, si vous préférez aller dans cette voie.

Questions connexes