VB 
.NET 
- Obtendo informações a partir de um IP usando XML
    
    
    ![]()  | 
    Neste artigo vou mostrar como podemos obter informações a partir de um endereço IP usando um serviço da web e usando XML. | 
				
				![]()  | 
  
Este é um tutorial bem simples que mostra como é fácil obter informações de um endereço IP a partir de um serviço da web usando código XML.
Vamos usar o serviço oferecido pela http://freegeoip.net
A 
freegeoip.net fornece uma API HTTP pública onde os desenvolvedores podem 
pesquisar a localização geográfica de endereços IP. Ele usa um banco de dados de 
endereços IP associados às cidades juntamente com outras informações relevantes, 
como fuso horário, latitude e longitude.
No serviço gratís você pode fazer até 15.000 consultas por hora e uma vez que 
este limite seja alcançado, todos os seus pedidos resultarão em HTTP 403,  até que sua cota seja desmarcada. O servidor web freegeoip é gratuito 
e de código aberto, então, se o limite de serviço público for um problema para 
você, baixe-o e execute na sua própria instância.
Assim o endereço http://freegeoip.net/xml vai retornar as informações do seu IP no formato XML conforme mostrado na figura abaixo:
![]()  | 
	
Então para obter informações sobe o IP neste serviço basta usar : "http://freegeoip.net/xml/" + seu endereço IP
Vamos então criar uma aplicação Windows Forms usando a linguagem VB .NET e usando os recursos do XML mostrar como extrair as informações retornadas por esse serviço para um IP.
Recursos Usados:
Criando o projeto Windows Forms no VS Community 2017
Abra o VS 2017 Community e crie um projeto usando a opção : Visual Basic -> Windows Classic Desktop e selecione o template Windows Forms App (.NET Framework);

Informe o nome WF_InforIP e clique em OK.
No formulário Form1.vb inclua a partir da ToolBox os controles :
1 Label
1 TextBox - txtEnderecoIP
1 Button - btnInfoIP
1 ListBox - lbResultado
Disponha os controles conforme o leiaute da figura abaixo:

Inclua uma referência ao namespace System.Xml no formulário:
Imports System.Xml
No evento Click do botão Obter informações do IP inclua o código abaixo :
		Private Sub btnInfoIP_Click(sender As Object, e As EventArgs) Handles btnInfoIP.Click         Dim xmldoc As New XmlDocument
        Dim xmlnode As XmlNodeList
        Dim i As Integer
        Try
		           xmldoc.Load("http://freegeoip.net/xml/" & txtEnderecoIP.Text)
           xmlnode = xmldoc.GetElementsByTagName("Response")
		For i = 0 To xmlnode.Count - 1 xmlnode(i).ChildNodes.Item(0).InnerText.Trim() lbResultado.Items.Add("End. IP : " & xmlnode(i).ChildNodes.Item(0).InnerText.Trim()) lbResultado.Items.Add("Cód. País : " & xmlnode(i).ChildNodes.Item(1).InnerText.Trim()) lbResultado.Items.Add("País : " & xmlnode(i).ChildNodes.Item(2).InnerText.Trim()) lbResultado.Items.Add("Cod. Região : " & xmlnode(i).ChildNodes.Item(3).InnerText.Trim()) lbResultado.Items.Add("Nome Região : " & xmlnode(i).ChildNodes.Item(4).InnerText.Trim()) lbResultado.Items.Add("Cidade : " & xmlnode(i).ChildNodes.Item(5).InnerText.Trim()) lbResultado.Items.Add("Cep : " & xmlnode(i).ChildNodes.Item(6).InnerText.Trim()) lbResultado.Items.Add("Time Zone : " & xmlnode(i).ChildNodes.Item(7).InnerText.Trim()) lbResultado.Items.Add("Latitude : " & xmlnode(i).ChildNodes.Item(8).InnerText.Trim()) lbResultado.Items.Add("Longitude : " & xmlnode(i).ChildNodes.Item(9).InnerText.Trim()) Next Catch ex As Exception Messagebox.Show("Erro " & ex.Message) End Try   End Sub
		 | 
	
Neste código estamos obtendo o retorno do serviço no formato XML e usando os recursos do namespace System.Xml estamos lendo a informação e retornando os seus valores.
Para detalhes veja as referências dos artigos sobre XML que eu já publiquei.
Executando o projeto e informando um IP válido ao clicar no botão Obter informações do IP iremos obter:
![]()  | 
	
Pegue o 
projeto completo aqui :  
 
WF_InfoIP.zip
(Disse Jesus) - Eu sou a videira 
verdadeira, e meu Pai é o lavrador.
Toda a vara em mim, que não dá fruto, a tira; e limpa toda aquela que dá fruto, 
para que dê mais fruto.
João 15:1,2
| 
    
    Veja os 
    Destaques e novidades do SUPER DVD Visual Basic 
(sempre atualizado) : clique e confira ! 
 Quer migrar para o VB .NET ? 
 Quer aprender C# ?? 
 Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no Visual Studio ? Quer aprender a criar aplicações Web Dinâmicas usando a ASP .NET ? 
  | 
  
  
  Gostou ?  
Compartilhe no Facebook
  
 
Compartilhe no Twitter
  
  
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET
C# - Acessando e Lendo arquivos XML recursivamente - Macoratti.net