检测网站从哪里打开
Detect where website is opened from
抱歉,这可能有点含糊,但如何根据打开网站的位置显示不同的组织徽标。例如,该组织希望在南非打开网站时显示其南非官方徽标,而在肯尼亚或加纳打开时显示另一个官方徽标。
网站是否必须托管在多台服务器上...想不出任何其他可能的方式吗?
要先找到国家/地区,您需要找到 Ipaddress
string Ipaddress= HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
使用IP地址可以找到如下位置
using (var wc = new WebClient())
{
string output = wc.DownloadString(String.Format("http://api.hostip.info/?ip={0}&position=true", ipaddress));
}
输出为 XML 格式,它将包含 countryName 标签
我会把它作为评论。因为我没有足够的声誉,所以我发布作为答案。
这个 link 将有助于检测国家并根据您的逻辑根据国家更改徽标。
正在添加 link 的内容,因为 link 可能会过期。
您可以使用一种可用的 Web 服务来将传入请求与国家/地区相匹配。
否则您可能决定获取 MaxMind 数据库文件 (GeoLite Country),在您的应用程序中读取该文件并执行匹配。因此,您将独立于第三方服务,仅定期更新数据库文件。
另请查看类似问题:
Geolocation web service recommendations
Know a good IP address Geolocation Service?
简而言之,市场上有很多供应商,他们正在跟踪 geolocation
,其中之一是 google API。
https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_API_KEY
您可以生成自己的 API_KEY
。
希望post对您有所帮助。 :)
抱歉,这可能有点含糊,但如何根据打开网站的位置显示不同的组织徽标。例如,该组织希望在南非打开网站时显示其南非官方徽标,而在肯尼亚或加纳打开时显示另一个官方徽标。
网站是否必须托管在多台服务器上...想不出任何其他可能的方式吗?
要先找到国家/地区,您需要找到 Ipaddress
string Ipaddress= HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
使用IP地址可以找到如下位置
using (var wc = new WebClient())
{
string output = wc.DownloadString(String.Format("http://api.hostip.info/?ip={0}&position=true", ipaddress));
}
输出为 XML 格式,它将包含 countryName 标签
我会把它作为评论。因为我没有足够的声誉,所以我发布作为答案。
这个 link 将有助于检测国家并根据您的逻辑根据国家更改徽标。
正在添加 link 的内容,因为 link 可能会过期。
您可以使用一种可用的 Web 服务来将传入请求与国家/地区相匹配。
否则您可能决定获取 MaxMind 数据库文件 (GeoLite Country),在您的应用程序中读取该文件并执行匹配。因此,您将独立于第三方服务,仅定期更新数据库文件。
另请查看类似问题:
Geolocation web service recommendations
Know a good IP address Geolocation Service?
简而言之,市场上有很多供应商,他们正在跟踪 geolocation
,其中之一是 google API。
https://www.googleapis.com/geolocation/v1/geolocate?key=YOUR_API_KEY
您可以生成自己的 API_KEY
。
希望post对您有所帮助。 :)