Geoprocessamento. Onde você está? |
O que é Geoprocessamento por IP?
Ferramenta IP Location Tools
Endereço do serviço: http://www.iplocationtools.
Onde pode testar: http://www.anselmeit.com/p/ip-
Funcional: SIM
API oferecida em que linguagens: JavaScript
Pago: Sim
Observações.:
Eles têm também uma página própria para testes:
http://www.iplocationtools.
Eles não conseguiram exibir o estado do Rio de Janeiro para o meu IP.
Na verdade eles não acharam meu servidor. Utilizo o Serviço de internet de uma empresa chamada XPTO. Ao invés de achar a XPTO eles acharam o “COMITE GESTOR DA INTERNET NO
BRASIL” que é um nível acima. Acho que é por isso que eles não encontraram o estado do Rio de Janeiro.
Ferramenta MAXMIND
Endereço do serviço: http://www.maxmind.com
Onde pode testar: http://www.maxmind.com/app/isp
Funcional: SIM
API oferecida em que linguagens: C, PHP (Pure), Java, Perl (XS), Perl (Pure), Apache, Python, MS COM, C#, Pascal, Ruby,
Pago: Sim
Observações.:
Eles exibem as informações no nível do ISP corretamente, diferente da ipLocationTools.
Eles oferecem uma página de benchmark http://www.maxmind.com/app/
Ferramenta IP Info DB
Endereço do serviço: http://ipinfodb.com/ip_
Onde pode testar: http://ipinfodb.com/index.php
Funcional: Sim
API oferecida em que linguagens: PHP, Javascript, Ruby, Python e ASP. Mas oferecem consultas via REST que torna facilmente utilizavel via .NET
Pago: Sim
Observações:
Muito bacana e flexível, mas não exibiu o Estado do Rio de Janeiro. Exibiu o país e descobriu que meu host é a XPTO. Reportei o problema para eles. Eles parecem utilizer o serviço da IP2Location.
Ferramenta Quova
Endereço do serviço: http://developer.quova.com/
Onde pode testar: Utilize o código abaixo
Funcional: Sim
API oferecida em que linguagens: PHP, Python, Java, Ruby, Perl, C#. Mas as consultas são feitas com REST que auxilia o uso em quase todas as linguagens comerciais.
Pago: Sim
Observações:
Eu cheguei a fazer uma aplicação com meu cadastro e senhas e contra-senhas disponibilizadas pelo service Quova. De todos os serviços que pesquisei este é o mais maduro.
Abaixo você pode encontrar um exemplo. Para executar este exemplo é obrigatório o cadastro no site da empresa que oferece o serviço
// Aplicação ANSELMEGEOIP.EXE using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Net; using System.Security.Cryptography; namespace QuovaRESTSample { class Program { static void Main(string[] args) { Console.Write(“Entre com um número de IP: “); string ip = Console.ReadLine().Trim(); string resultadoXML = default(string); string service = “http://api.quova.com/”; string version = “v1/”; string method = “ipinfo/”; string ipAddress = ip; string apikey = “100.aej8whetsr3enu2ea8ee”; string secret = “vWhvrZvy”; string sig = MD5GenerateHash(apikey + secret + (Int32)(DateTime.UtcNow – new DateTime(1970, 1, 1)).TotalSeconds); string fullURL = service + version + method + ipAddress + “?apikey=” + apikey + “&sig=” + sig + “&format=xml”; // Create the web request HttpWebRequest request = WebRequest.Create(fullURL) as HttpWebRequest; // Get response using (HttpWebResponse response = request.GetResponse() as HttpWebResponse) { // Get the response stream StreamReader reader = new StreamReader(response.GetResponseStream()); // Write response to the console resultadoXML =reader.ReadToEnd(); } using (StreamWriter sw = new StreamWriter(“anselmelocalizacao.xml”)) { sw.WriteLine(resultadoXML); } } private static string MD5GenerateHash(string strInput) { // Create a new instance of the MD5CryptoServiceProvider object. MD5 md5Hasher = MD5.Create(); // Convert the input string to a byte array and compute the hash. byte[] data = md5Hasher.ComputeHash(Encoding.Default.GetBytes(strInput)); // Create a new Stringbuilder to collect the bytes and create a string. StringBuilder sBuilder = new StringBuilder(); // Loop through each byte of the hashed data and format each one as a hexadecimal string. for (int nIndex = 0; nIndex < data.Length; ++nIndex) { sBuilder.Append(data[nIndex].ToString(“x2”)); } // Return the hexadecimal string. return sBuilder.ToString(); } } } |
É uma aplicação console muito simples que pergunta seu endereço IP.
Se for de sua preferencia, insira vários endereços IP para testar.
Será gerado um arquivo chamado anselmelocalization.xml.
Abra este arquivo no Internet Explorer.
Ele atua/atuou como Dev Full Stack C# .NET / Angular / Kubernetes e afins. Ele possui certificações Microsoft MCTS (6x), MCPD em Web, ITIL v3 e CKAD (Kubernetes) . Thiago é apaixonado por tecnologia, entusiasta de TI desde a infância bem como amante de aprendizado contínuo.
Este comentário foi removido por um administrador do blog.
Muito bom!