El rincón de JMACOE

¿Cómo recuperar la dirección IP publica de tu computadora?

Al intentar recuperar la dirección IP de tu ordenador utilizando programación con servicios estándar .NET como las funciones System.Net.Dns, terminarás con un resultado como 127.0.0.1 o 192.168.1.X.

En algunos casos, tenemos que recuperar la dirección IP externa del equipo, la dirección IP que fue asignada para nosotros por el ISP cuando el ordenador está conectado a Internet. El truco que veremos aquí es que vamos a recuperar nuestra dirección IP externa desde fuera, desde http://whatismyip.org/. El anterior enlace abre una página Web que contiene sólo un contenido de texto simple que es tu dirección IP externa.

La siguiente es una función simple cuando se ejecuta, se conecta al sitio web y recupera la dirección externa de la IP del equipo.

Código C#:

IPAddress GetMyExternalIP()
{
    HttpWebRequest wq = (HttpWebRequest)HttpWebRequest.Create(@"http://whatismyip.org/");
    HttpWebResponse wr = (HttpWebResponse)wq.GetResponse();
    StreamReader sr =  new StreamReader(wr.GetResponseStream(), System.Text.Encoding.UTF8);
    IPAddress ip = IPAddress.Parse(sr.ReadToEnd());
    sr.Close();
    wr.Close();
    return ip;
}

Código Vb.Net:

Private Function GetMyExternalIP() As IPAddress
    Dim wq As HttpWebRequest = HttpWebRequest.Create("http://whatismyip.org/")
    Dim wr As HttpWebResponse = wq.GetResponse()
    Dim sr As New StreamReader(wr.GetResponseStream(), System.Text.Encoding.UTF8)
    Dim ipa As IPAddress = IPAddress.Parse(sr.ReadToEnd)
    sr.Close()
    sr.Close()
    return ipa
End Function

He aquí un ejemplo de cómo utilizar la función GetMyExternalIP:

No te olvides de importar System.Net y System.IO

Comparte y diviertete: