2012-06-09 51 views
0

我想获取我的网站访问者的地理位置,并将其存储在我的数据库中,并已获取IP地址。我有我的网站访问者的IP地址,我怎么能得到他们的地理位置吗?

我使用asp.net 3.0

protected void Page_Load(object sender, EventArgs e) 
    { 
     // Track Visitors 
     string ipAddress = IpAddress(); 
     string hostName = Dns .GetHostByAddres(ipAddress).HostName; 
     StreamWriter wrtr = new StreamWriter (Server.MapPath("visitors.log"), true); 
     wrtr.WriteLine(DateTime .Now.ToString() + " | " + ipAddress + " | " + hostName + " | " + Request.Url.ToString()); 
     wrtr.Close(); 
    } 

    private string IpAddress() 
    { 
     string strIpAddress; 
     strIpAddress = Request.ServerVariables[ "HTTP_X_FORWARDED_FOR" ]; 
     if (strIpAddress == null) 
      strIpAddress = Request.ServerVariables[ "REMOTE_ADDR" ]; 
     return strIpAddress; 
    } 
+0

这只是给我的IP地址ñ主机名,我想知道城市和国家太,,,, – Zoya

回答

1

没有内在的方法了这一点。互联网上有网络服务提供这种映射。这种数据库“GeoIP数据库”也可用于本地使用。

但是,最好订阅更新的Web服务并使用它来获取位置。 Google's Client Location API应该帮助你。

一些现代浏览器会向您发送用户位置信息。你可以使用它。但是由于这不是所有浏览器都遵循的,所以它不可靠。您可以查看w3.org提供的Geo Location API

相关问题