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

Node.js IP Geolocation biblioteca do cliente Node.js IP Geolocation biblioteca do cliente

Como executar uma pesquisa em IP Geolocation com o Node.js

Neste artigo, vou orientá-lo sobre a melhor maneira possível de encontrar a localização física de um endereço IP usando o Node.js (também conhecido como IP geolocation).

Infelizmente, não existe uma maneira padrão de descobrir onde um endereço IP está fisicamente localizado. Em vez disso, empresas conhecidas como provedores de IP Geolocation agregam muitos dados diferentes para criar um banco de dados preciso de dados de localização de IP.

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

  • Dados WHOIS de domínio (que, por sua vez devem ser agregados pelos provedores de dados)
  • Registros regionais da Internet, que distribuem grandes blocos de endereços IP a vários provedores de serviços de Internet em todo o mundo (ISPs)
  • BGP de grandes ISPs
  • Informações de latência (quanto tempo leva para um pacote de determinados locais físicos chegar ao IP de destino)

Embora obter todas as informações acima por conta própria seja muito complicado e caro, felizmente existem alguns excelentes provedores de serviços que já fizeram esse trabalho e vendem dados do IP Geolocation que você pode facilmente consumir.

Hoje, mostrarei a você como usar nossa recém-lançada biblioteca simple-geoip do Node.js recém-lançada para executar uma pesquisa no banco de dados IP Geolocation e retornar a localização física de qualquer endereço IP que você queira identificar.

Criar uma conta de pesquisa da IP Geolocation API

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

IP Geolocation API é 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 você pode pagar uma taxa fixa de US$ 27 por mês para 100.000 consultas. Planos tarifários adicionais disponíveis aqui.

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

Instalar o pacote simple-geoip

Agora que sua conta está configurada, a próxima coisa que você precisa fazer é instalar o pacote Node. Na linha de comando execute o seguinte comando:

            
$ npm install simple-geoip
            
            

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

Realizar uma pesquisa em IP Geolocation usando o simple-geoip

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

Aqui está um pequeno script, `geoip.js`, que encontrará a localização física de um endereço IP popular (`8.8.8.8`, um dos principais servidores DNS do 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);

});
            
            

Como você pode ver, há apenas três etapas para usar a biblioteca:

  • Importe a biblioteca
  • Crie um objeto `IpGeolocation` fornecendo a ele sua chave de API que foi criada quando você se inscreveu no o serviço da IP Geolocation API.
  • Execute o método `lookup`, passando o endereço IP que você deseja verificar e uma função de retorno de chamada função. Essa função de retorno de chamada é a que será executada quando a pesquisa IP Geolocation for concluída.

Os dados retornados no retorno de chamada terão a seguinte aparência:

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

Esses dados JSON informam tudo o que você precisa saber sobre a localização física do endereço IP `8.8.8.8 ` do endereço IP.

Nos bastidores, o serviço da IP Geolocation API está lidando com todas as pesquisas no banco de dados IP Geolocation e com a agregação de dados obtendo dados de provedores e processando milhões de atualizações por dia.

Personalização do comportamento de pesquisa do IP Geolocation no simple-geoip

Um dos aspectos positivos da biblioteca simple-geoip Node.js é que ela tenta novamente, de forma automática, solicitações até cinco vezes seguidas.

Por exemplo, digamos que você esteja tentando fazer uma solicitação de pesquisa em IP Geolocation e sua conexão com a Internet morre no meio do caminho. Em vez de simplesmente dar erro, o simple-geoip lookup tentará novamente a solicitação para dar a ela outra chance de ser concluída.

Caso você prefira que a biblioteca simple-geoip *não* tente novamente as solicitações que falharam, você pode passar alguns dados de configuração opcionais ao criar a instância de pesquisa `IpGeolocation` da seguinte forma:

            
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);

});
            
            

Você pode definir a quantidade de `retries` para qualquer número entre `0` e o quanto quiser. No entanto, lembre-se: quanto mais tentativas você permitir, mais lenta poderá ser a solicitação no caso de uma falha.

Embora as novas tentativas sejam úteis para contornar interrupções parciais da rede, se você estiver tendo uma interrupção grave talvez seja melhor simplesmente dar um erro logo no início, sem perder muito tempo tentando novamente suas solicitações. O comportamento padrão de novas tentativas (cinco tentativas) geralmente é uma boa escolha para a maioria das pessoas.

Use seus novos dados do IP Geolocation

Agora que você viu como é fácil encontrar a localização física dos endereços IP usando a biblioteca simple-geoip você deve começar a implementar pesquisas em IP Geolocation em seu produto ou serviço!

Alguns casos de uso realmente comuns para os dados do IP Geolocation incluem:

  • Detectar o país de um usuário quando ele visita seu site e fornecer uma experiência personalizada para com base em sua localização (idioma, anúncios, design, moeda etc.)
  • Bloqueie o acesso de usuários de determinados locais ao seu site. Por exemplo, se você for um provedor de streaming de vídeo e só tiver os direitos de transmitir vídeos em um país específico, as pesquisas em IP Geolocation podem fornecer esses dados para que você possa atender aos clientes somente nas regiões em que pode operar legalmente.
  • Fraude e mitigação de riscos. Se você notar uma grande quantidade de fraudes provenientes de um local específico, bloquear temporariamente os visitantes desse local pode ser uma maneira rápida de ajudar a reduzir a fraude e outros problemas.

Ao analisar os endereços IP dos visitantes do seu site, você pode aprimorar muito os produtos e serviços da Web. 

Use o simple-geoip

Resumindo: realizar pesquisas no site IP Geolocation não precisa ser difícil nem caro. Ao usar nosso novo simple-geoip Node.js e o serviço de IP Geolocation API, você pode facilmente criar e gerenciar até mesmo um grande produto da Web por muito pouco dinheiro.

Se você precisar realizar pesquisas no site IP Geolocation , consulte o simple-geoip pois ela torna a pesquisa de endereços IP de localização incrivelmente simples.

Se tiver alguma dúvida, envie-nos um e-mail!