Node.js | Bibliothèques pour développeurs | IP Geolocation API | WhoisXML API

Bibliothèque client de géolocalisation IP Node.js Bibliothèque client de géolocalisation IP Node.js

Comment effectuer une recherche sur IP Geolocation avec Node.js

Dans cet article, je vais vous présenter la meilleure façon de trouver l'emplacement physique d'une adresse IP à l'aide de Node.js (également connu sous le nom de géolocalisation IP).

Malheureusement, il n'existe pas de méthode standard pour déterminer l'emplacement physique d'une adresse IP. Au lieu de cela, les entreprises appelées « fournisseurs de géolocalisation IP » rassemblent de nombreux éléments de données différents pour constituer une base de données précise sur la localisation IP.

Les données de géolocalisation IP se composent généralement des éléments suivants :

  • Les données WHOIS relatives aux domaines (qui doivent elles-mêmes être agrégées par les fournisseurs de données).
  • Les registres Internet régionaux, qui distribuent de grands blocs d'adresses IP à divers fournisseurs d'accès à Internet dans le monde (FAI)
  • Flux BGP  provenant de grands FAI
  • Informations sur le temps de latence (combien de temps faut-il à un paquet provenant de certains emplacements physiques pour atteindre la destination destination IP

Bien qu'il soit très compliqué et coûteux d'obtenir soi-même toutes les informations susmentionnées, il existe heureusement quelques grands fournisseurs de services qui ont déjà fait ce travail et vendent des données de géolocalisation d'IP que vous pouvez facilement utiliser.

Aujourd'hui, je vais vous montrer comment utiliser notre nouvelle bibliothèque simple-geoip Node.js pour effectuer une recherche dans la base de données IP Geolocation et retourner l'emplacement physique de n'importe quelle adresse IP que vous souhaitez localiser.

Créez un compte IP Geolocation API Lookup

La première chose à faire pour utiliser la bibliothèque simple-geoip est de créer un compte IP Geolocation API : https://ip-geolocation.whoisxmlapi.com/signup.

IP Geolocation API est l'un des fournisseurs de services de géolocalisation d'adresses IP les plus importants et les moins chers. Vous pouvez utiliser le service IP Geolocation API pour effectuer 1 000 requêtes gratuites de géolocalisation IP chaque mois, ou vous pouvez leur payer un forfait de 27 $ par mois pour 100 000 requêtes. Des plans tarifaires supplémentaires sont disponibles ici.

Une fois que vous avez créé votre compte IP Geolocation API et que vous vous y êtes connecté, vous devez afficher la page des produits de votre compte et copier votre clé API - vous en aurez besoin ultérieurement pour effectuer des requêtes sur IP Geolocation .

Installez le pack simple-geoip

Maintenant que votre compte est configuré, la prochaine chose à faire est d'installer le paquet Node. À partir de la ligne de commande exécutez la commande suivante :

            
$ npm install simple-geoip
            
            

Ceci téléchargera et installera la dernière version du pack simple-geoip depuis NPM.

Effectuer une recherche IP Geolocation Lookup à l'aide simple-geoip

Maintenant que vous avez un compte et que le paquetage simple-geoip est installé, regardons le code que vous pouvez exécuter pour rechercher l'adresse physique de n'importe quelle adresse IP.

Voici un petit script, `geoip.js`, qui trouvera l'emplacement physique d'une adresse IP populaire (`8.8.8.8`, l'un des principaux serveurs DNS de Google) :

            
const IpGeolocation = require("simple-geoip");
 


let ipGeolocationLookup  = new IpGeolocation("your-api-key");

ipGeolocationLookup.lookup("8.8.8.8", (err, data) => {
   if (err) throw err;

   console.log(data);

});
            
            

Comme vous pouvez le constater, l'utilisation de la bibliothèque se fait en trois étapes seulement :

  • Importer la bibliothèque
  • Créez un objet `IpGeolocation` en lui donnant votre clé API qui a été créée lorsque vous vous êtes inscrit au service API au service IP Geolocation API.
  • Exécutez la méthode `lookup`, en passant l'adresse IP que vous voulez vérifier et une fonction de rappel (callback). Cette fonction de rappel est celle qui sera exécutée lorsque la recherche IP Geolocation sera terminée.

Les données renvoyées dans le rappel ressembleront à ceci :

            
{
   "ip": "8.8.8.8",
   "location": {
      "country": "US",
      "region": "California",
      "city": "Mountain View",
      "lat": 37.40599,
      "lng": -122.078514,
      "postalCode": "94043",
      "timezone": "-08:00"
   }
}
            
            

Ces données JSON vous indiquent tout ce que vous devez savoir sur l'emplacement physique de l'adresse IP 8.8.8.8 .

En coulisses, le service IP Geolocation API s'occupe de toutes les recherches dans la base de données de géolocalisation IP et de l'agrégation des données - en obtenant les données des fournisseurs et en traitant des millions de mises à jour par jour.

Personnaliser le comportement de IP Geolocation Lookup dans simple-geoip

L'un des avantages de la bibliothèque simple-geoip Node.js est qu'elle réessaie automatiquement les requêtes qui ont échoué jusqu'à cinq fois de suite.

Supposons, par exemple, que vous essayez d'effectuer une requête de recherche de géolocalisation IP et que votre connexion Internet s'arrête à mi-chemin. Au lieu de se contenter d'une erreur, simple-geoip lookup va réessayer la requête pour lui donner une autre chance d'aboutir.

Dans le cas où vous préféreriez que la bibliothèque simple-geoip ne réessaie pas les requêtes qui ont échoué, vous pouvez passer quelques données de configuration optionnelles lors de la création de l'instance de recherche `IpGeolocation`, comme suit :

            
const IpGeolocation = require("simple-geoip");



let ipGeolocationLookup  = new IpGeolocation("your-api-key", { retries: 2 });

ipGeolocationLookup.lookup("8.8.8.8", (err, data) => {

   if (err) throw err;

   console.log(data);

});
            
            

Vous pouvez définir le nombre de`retries` entre `0` et autant que vous le souhaitez. Une chose à garder à l'esprit plus vous autorisez de tentatives, plus la requête sera lente en cas d'échec.

Bien que les tentatives soient pratiques en cas de panne partielle du réseau, si vous êtes confronté à une panne grave, il peut être préférable de se tromper dès le début sans perdre beaucoup de temps à réessayer les requêtes qui n'ont pas abouti. Le comportement par défaut (cinq tentatives) est généralement un bon choix pour la plupart des gens.

Utilisez vos nouvelles données de géolocalisation IP

Maintenant que vous avez vu à quel point il est facile de trouver l'emplacement physique des adresses IP à l'aide de la bibliothèque simple-geoip, vous devriez commencer à mettre en œuvre des recherches de géolocalisation IP dans votre produit ou service !

Parmi les cas d'utilisation les plus courants des données IP Geolocation, on peut citer :

  • Détecter le pays d'un utilisateur lorsqu'il visite votre site web et lui offrir une expérience personnalisée en fonction de sa localisation (langue, publicités, design, devise, etc.).
  • Empêcher les utilisateurs de certaines régions d'accéder à votre site web. Par exemple, si vous êtes un fournisseur de vidéo en continu et que vous n'avez le droit de diffuser des vidéos que dans un pays spécifique, les recherches de géolocalisation IP peuvent vous fournir ces données afin que vous ne puissiez servir vos clients que dans les régions où vous pouvez légalement opérer.
  • Fraude et réduction des risques. Si vous constatez un nombre important de fraudes en provenance d'un endroit spécifique, bloquer temporairement les visiteurs en provenance de cet endroit peut être un moyen rapide d'atténuer la fraude et d'autres problèmes.

En analysant les adresses IP des visiteurs de votre site web, vous pouvez améliorer considérablement vos produits et services web.

Utilisez simple-geoip

Pour résumer : effectuer des recherches sur IP Geolocation ne doit pas être difficile ou coûteux. En utilisant notre nouveau simple-geoip Node.js et le service IP Geolocation API, vous pouvez facilement facilement construire et gérer même un grand produit web pour très peu d'argent.

Si vous avez besoin d'effectuer des recherches IP Geolocation , veuillez consulter le fichier simple-geoip car elle rend la recherche d'informations sur l'adresse IP incroyablement simple.

Si vous avez des questions, n'hésitez pas à nous envoyer un email!