Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

134
Vistas
obtener la dirección IP pública y la ubicación de los usuarios que visitan mi sitio web en C# mvc

Tengo un sitio web y quiero almacenar la dirección IP y la ubicación de los usuarios que visitan mi sitio web. Lo intenté de muchas maneras, pero el siguiente código me da la IP del servidor donde está alojado mi sitio web y no la IP del cliente.

//Primer código que probé.

bool GetLan = falso;

 string visitorIPAddress = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]; if (String.IsNullOrEmpty(visitorIPAddress)) visitorIPAddress = System.Web.HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"]; if (string.IsNullOrEmpty(visitorIPAddress)) visitorIPAddress = System.Web.HttpContext.Current.Request.UserHostAddress; if (string.IsNullOrEmpty(visitorIPAddress) || visitorIPAddress.Trim() == "::1") { GetLan = true; visitorIPAddress = string.Empty; } if (GetLan) { if (string.IsNullOrEmpty(visitorIPAddress)) { //This is for Local(LAN) Connected ID Address string stringHostName = Dns.GetHostName(); //Get Ip Host Entry IPHostEntry ipHostEntries = Dns.GetHostEntry(stringHostName); //Get Ip Address From The Ip Host Entry Address List IPAddress[] arrIpAddress = ipHostEntries.AddressList; try { visitorIPAddress = arrIpAddress[arrIpAddress.Length - 2].ToString(); } catch { try { visitorIPAddress = arrIpAddress[0].ToString(); } catch { try { arrIpAddress = Dns.GetHostAddresses(stringHostName); visitorIPAddress = arrIpAddress[0].ToString(); } catch { visitorIPAddress = "127.0.0.1"; } } } } } var zaz = ""; zaz = visitorIPAddress.ToString();

//segundo código que probé

 string VisitorsIPAddr = string.Empty; if (System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != null) { VisitorsIPAddr = System.Web.HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"].ToString(); } else if (System.Web.HttpContext.Current.Request.UserHostAddress.Length != 0) { VisitorsIPAddr = System.Web.HttpContext.Current.Request.UserHostAddress; }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

HttpContext.Current.Request o HttpContext.Request contendrá la dirección IP del cliente; no necesita el código repetitivo anterior.

Intente usar la propiedad HttpRequest.UserHostAddress en .NET Framework:

 public ActionResult Test() { string clientIp = HttpContext.Current.Request.UserHostAddress; ... }

Sin embargo, tenga en cuenta que si ha habido servidores proxy entre el cliente y su servidor, la IP puede no ser la IP del cliente sino la IP del servidor proxy .

En estos casos, es posible que encuentre la IP del cliente original en el encabezado X-Forwarded-For pero no hay garantías de la presencia de este encabezado ni de que conozca la IP real del cliente en general.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda