如何检测访客国家
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
【讨论】:
以上是关于如何检测访客国家的主要内容,如果未能解决你的问题,请参考以下文章