如何检测访客国家

Posted

技术标签:

【中文标题】如何检测访客国家【英文标题】:How to detect visitor country 【发布时间】:2013-07-11 08:10:10 【问题描述】:

为了检测访问者国家/地区,我在许多论坛中看到了以下代码,但我无法让它工作。

modGlobal.ResolveCountry.ThreeLetterISORegionName

在我的本地机器上它正确地返回我的计算机区域设置区域,而它在生产服务器上总是返回美国。

我猜这是因为函数返回环境区域设置(即服务器区域设置),有人可以确认吗?如果属实,在 asp.net 中检测访问者国家/地区的最佳做法是什么?

【问题讨论】:

【参考方案1】:

试试这个

Dictionary<string,string> objDic = new Dictionary<string,string>();

foreach (CultureInfo ObjCultureInfo in CultureInfo.GetCultures(CultureTypes.SpecificCultures))

RegionInfo objRegionInfo = new RegionInfo(ObjCultureInfo.Name);
if (!objDic.ContainsKey(objRegionInfo.EnglishName))
  
      objDic.Add(objRegionInfo.EnglishName, objRegionInfo.TwoLetterISORegionName.ToLower());
  


var obj = objDic.OrderBy(p => p.Key );
foreach (KeyValuePair<string,string> val in obj)

  ddlCountries.Items.Add(new ListItem(val.Key, val.Value));

EnglishName 将返回国家/地区名称

来自IPsee

【讨论】:

【参考方案2】:

尝试从访问者那里获取 ip 并从中查找跟踪数据

也许看看这个:How to get visitor location ( country, state and city ) using ASP.NET

【讨论】:

以上是关于如何检测访客国家的主要内容,如果未能解决你的问题,请参考以下文章

php 通过IP检测访客的国家

在 Woocommerce 3 中获取地理位置的国家和地区

如何在 FPNTextField 中检测国家代码和更改标志

统计各国访客插件 flag counter

如何阻止某个国家/地区访问我的网站

如何检测客户端站点中的浏览器国家/地区?