¿Cómo obtener la IP del usuario actual con ASP.NET?

En este artículo voy a explicar cómo obtener la dirección IP de los visitantes a tu sitio web en ASP.Net. Básicamente, existen dos formas para buscar una IP:
- Para encontrar la dirección IP de una máquina detrás de LAN
- Para encontrar la dirección IP detrás de proxy o máquina cliente
Enseguida puedes ver el ejemplo:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="ObtenerIP_Default" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Obtener dirección IP y Host Name</title> </head> <body> <form id="form1" runat="server"> <div style="font-weight:bold; border:1px;"> Tu dirección IP es: <asp:Label ID="lblIPAddress" runat="server" Text=""></asp:Label><br /><br /> Tu computadora/Host Name es: <asp:Label ID="lblHostName" runat="server" Text=""></asp:Label> <br /><br /> Tu dirección IP detrás del Proxy es: <asp:Label ID="lblIPBehindProxy" runat="server" Text=""></asp:Label> </div> </form> </body> </html>
Imports System.Net Partial Class ObtenerIP_Default Inherits System.Web.UI.Page Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load Dim strHostName As String = Dns.GetHostName() Dim ipEntry As IPHostEntry = Dns.GetHostEntry(strHostName) lblIPAddress.Text = Convert.ToString(ipEntry.AddressList(ipEntry.AddressList.Length - 1)) lblHostName.Text = Convert.ToString(ipEntry.HostName) 'Find IP Address Behind Proxy Or Client Machine In ASP.NET Dim IPAdd As String = String.Empty IPAdd = Request.ServerVariables("HTTP_X_FORWARDED_FOR") If String.IsNullOrEmpty(IPAdd) Then IPAdd = Request.ServerVariables("REMOTE_ADDR") lblIPBehindProxy.Text = IPAdd End If End Sub End Class
Si quieres descargar el ejemplo, lo puedes hacer en la siguiente liga: https://github.com/jiestrada/ObtenerIP
Espero que sea de utilidad este ejemplo, si tienes alguna pregunta no dudes en escribirme.
Compartir:
Cargando...