¿Cómo se obtiene la dirección IP y la ubicación de todos los visitantes de su sitio web a través de Asp.Net?Obtener dirección IP y ubicación de cada usuario que visite su sitio web
Gracias
¿Cómo se obtiene la dirección IP y la ubicación de todos los visitantes de su sitio web a través de Asp.Net?Obtener dirección IP y ubicación de cada usuario que visite su sitio web
Gracias
Para sacar el IP del usuario:
Request.UserHostAddress
Puede utilizar este servicio web para obtener su ubicación geográfica http://iplocationtools.com/ip_location_api.php
solo FYI, es una propiedad ... no es un método :) –
thx eliminado parens –
Esto no funcionará si está detrás de un proxy. Ver mi respuesta – Anthony
string VisitorIPAddress = Request.UserHostAddress.ToString();
y basadas en el IP address usted puede reducir la ubicación: find the geographical location of a host
Bueno, la siguiente propiedad le dará la dirección IP del teh cliente (o el servidor proxy clientes)
Request.UserHostAddress
cuanto a la ubicación, que había necesidad de utilizar algún plugin de GeoIP/de GeoLocation como MaxMind para resolver eso.
Para obtener el PI:
Request.UserHostAddress
y se puede asignar IP a la ubicación utilizando un servicio web (más lento) o una base de datos (más rápido) así: http://ip-to-country.webhosting.info/node/view/5
Es independiente de la tecnología del servidor, pero recomendaría utilizar el cargador AJAX de Google: http://code.google.com/apis/ajax/documentation/#ClientLocation
Está en Javascript e incluso le dará la ciudad/estado/país de la persona (bueno, se necesita una estimación basada en la dirección IP). Envíelo de nuevo al servidor y está disponible para usted en ASP.NET o lo que sea.
Request.UserHostAddress no funcionará si está detrás de un proxy. Utilizar este código:
public static String GetIPAddress()
{
String ip = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
if (string.IsNullOrEmpty(ip))
ip = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
else
ip = ip.Split(',')[0];
return ip;
}
Tenga en cuenta que HTTP_X_FORWARDED_FOR debe ser utilizado, pero ya que puede devolver varias direcciones IP separadas por una coma es necesario utilizar la función Split. Ver this page para más información.
¿qué quieres decir con la ubicación? –