我想获取我的网站访问者的地理位置并将其存储在我的数据库中,已经获取了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;
}
没有内置的方法。互联网上有网络服务可以提供这种映射。此类数据库"GeoIP数据库"也可供当地使用。
但最好订阅更新的 Web 服务并使用它来获取位置。谷歌的客户端位置API应该在这里帮助你。
一些现代浏览器会向您发送用户位置。你可以使用它。但是由于并非所有浏览器都遵循此功能,因此它不可靠。您可以查看 w3.org 提供的地理位置API。