【发布时间】:2013-12-05 08:30:35
【问题描述】:
我的 ASP.NET 网站需要知道访问用户的城市和国家。我试过以下代码:
string ip = HttpContext.Current.Request.UserHostAddress.ToString();
然后向http://api.hostip.info/get_html.php?ip=ip发出网络请求
此方法在某些情况下会返回正确的用户位置,但是当用户的 ISP 在其他国家或城市托管服务器时,它不会给我用户当前的城市(从他浏览网站的地方),而是给我托管的服务器位置。
无论用户的 ISP 将服务器托管在何处,我如何才能获取用户的位置?就像谷歌在谷歌地图中所做的那样(浏览器要求分享位置的权限)。还是有其他更好的方法?
【问题讨论】:
-
你要找的是Geolocation。
-
我想您已经得到了答案,即 HTML5 地理位置将为您提供更准确的位置。然而,问题是它需要用户明确地分享你的位置。检查此信息:ipgeo5.com
标签: c# asp.net geolocation location ip