2012-06-09 63 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

相關問題