【问题标题】:Website visitor location in ASP.NETASP.NET 中的网站访问者位置
【发布时间】: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


【解决方案1】:

问题的答案

See msdn code sample

【讨论】:

  • 这不是我的问题的答案。您提供的代码示例链接给出了 IP 的位置,这就是我正在做的(检查我的代码示例)。我认为 RGraham 所说的“地理位置”就是答案。
  • 我认为您对 Google 地图有误。它使用 IP 地址来反向查找您的位置。如果 IP 地址由您所在城市/国家/地区以外的 ISP 托管,那么您就很不走运了。
猜你喜欢
  • 2010-10-10
  • 2012-07-07
  • 2018-02-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多