Express.js | Bibliotecas de desenvolvedores | IP Geolocation API | WhoisXML API

Express.js IP Geolocation biblioteca do cliente Express.js IP Geolocation biblioteca do cliente

Como executar uma pesquisa em IP Geolocation no Express.js

Se você estiver criando um site (ou API) usando o Express.js, geralmente é útil saber de onde seus visitantes estão vindo: dos EUA, da UE ou de outro lugar? O processo de localização de um usuário da Web é normalmente chamado de IP geolocation e, infelizmente, não é simples.

O motivo pelo qual não é fácil obter dados de IP geolocation é que não há um mapeamento padrão de IPs -> dados de localização. A maioria das empresas obtém esses dados comprando-os de agregadores de IP Geolocation que reúnem várias informações diferentes para criar um banco de dados preciso de dados de IP geolocation .

Os dados do IP Geolocation são normalmente compostos por:

Em resumo: é basicamente impossível obter dados do IP geolocation sem passar por um agregador do IP Geolocation .

Hoje, vou orientá-lo a usar a biblioteca de desenvolvedor express-simple-geoip incrivelmente simples criada por mim, que facilita muito a realização de pesquisas em IP Geolocation no Express.js.

Criar uma conta de pesquisa da IP Geolocation API

A primeira coisa que você precisa fazer para usar a biblioteca express-simple-geoip é criar uma conta gratuita da IP Geolocation API: https://ip-geolocation.whoisxmlapi.com/signup.

IP Geolocation API é uma um dos maiores, mais econômicos e mais baratos provedores de IP Geolocation . Você pode usar o serviço da IP Geolocation API para realizar 1.000 consultas gratuitas ao IP Geolocation a cada mês, ou pode pagar uma taxa fixa de US$ 27 por mês para 100.000 consultas. Planos de tarifas extras disponíveis aqui.

Depois de criar e fazer login na sua conta da IP Geolocation API , você precisará visualizar a página de produtos de sua conta e copiar sua chave de API - você precisará dela mais tarde para fazer consultas ao IP Geolocation .

Instalar o pacote express-simple-geoip

Agora que sua conta está configurada, a próxima coisa que você precisa fazer é instalar a biblioteca express-simple-geoip do NPM. Na linha de comando execute o seguinte comando:

            
$ npm install express-simple-geoip
            
            

Isso fará o download e instalará a versão mais recente do pacote express-simple-geoip do NPM.

Executar um IP Geolocation Lookup usando express-simple-geoip

Agora que você tem uma conta e o pacote express-simple-geoip instalados, vamos dar uma olhada em alguns códigos que você pode executar para procurar o endereço físico de qualquer endereço IP que desejar.

Aqui está um aplicativo Express.js simples que contém apenas um único endpoint, `/test`, que retorna uma resposta simples de hello world:

            
"use strict";

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

let app = express();

app.use(IpGeolocation("<your-api-key-here>"));

app.get("/test", (req, res) => {
  res.json({ hello: "world" });
});

app.listen(3000);
            
            

Se você colocar esse código em um arquivo `server.js` e executá-lo, deverá ver uma resposta hello world quando visitar o endpoint `/test` em seu navegador.

A linha `app.use` inicializa o middleware IpGeolocation para que toda vez que uma nova solicitação chegar ao seu servidor Express.js, uma pesquisa de geolocalização de IP será realizada e um novo objeto `req.geoip`será adicionado à solicitação.

Para acessar os dados do IP Geolocation em seu código, basta fazer referência ao objeto `req.geoip` da seguinte forma assim:

            
"use strict";

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

let app = express();

app.use(IpGeolocation("<your-api-key-here>"));

app.get("/test", (req, res) => {
  res.json({ hello: "world", geoip: req.geoip });
});

app.listen(3000);
            
            

Se você executar esse novo servidor e acessar o URL `/test` em seu navegador, deverá ver uma nova resposta que se parece com esta:

            
{
  "hello": "world",
  "geoip": {
    "country": "US",
    "region": "California",
    "city": "Mountain View",
    "lat": 37.40599,
    "lng": -122.078514,
    "postalCode": "94043",
    "timezone": "-08:00"
  }
}
            
            

Como você pode ver, o objeto de dados `req.geoip` contém todos os dados do dados IP Geolocation do solicitante! Muito legal, não é? O objeto `req.geoip` contém tudo o que você precisa saber sobre a localização física do solicitante.

Como usar os dados do site IP Geolocation

Agora que você já viu como é simples fazer com que a funcionalidade de pesquisa do IP Geolocation funcione em seus aplicativos Express.js, aqui estão algumas ideias de como você pode usar os dados do IP Geolocation em seus projetos e serviços:

  • Detectar o país de um usuário quando ele visitar seu site e fornecer uma experiência personalizada para ele (alterar o idioma da página, exibir determinados anúncios, tipos de moeda etc.)
  • Bloqueie a visita de usuários de determinados locais ao seu site. Digamos que você esteja criando um serviço de streaming de vídeo como o YouTube e só tem o direito de exibir determinados vídeos para usuários nos EUA. Nesse caso, ter dados do IP Geolocation poderia ajudá-lo a detectar a localização de um usuário para que você filtrar qualquer usuário que não seja dos EUA.
  • Reduzir fraudes e riscos. Se você notar um grande volume de tráfego mal-intencionado proveniente de um país específico, bloquear temporariamente os visitantes desse local pode ser uma maneira rápida de evitar fraudes e outros problemas.

Encerrar o express-simple-geoip

A realização de pesquisas em IP Geolocation pode ser complicada, mas o  express-simple-geoip em conjunto com o IP Geolocation torna isso simples e barato. Ao usar a nova biblioteca express-simple-geoip, você pode facilmente criar e gerenciar pesquisas em IP Geolocation até mesmo para os maiores sites corporativos.

Para saber mais, consulte a biblioteca express-simple-geoip no GitHub, onde você pode encontrar todos os e informações mais detalhadas: https://github.com/whois-api-llc/express-simple-geoip

Se tiver alguma dúvida, envie um e-mail para nós!