我搜索过ip& amp;我的网站的位置。我想知道访问者进入网站的位置。根据他的位置,我将制作一些录音,显示具有不同主题的网站等。
我使用的是Asp.Net,我不会使用任何提供商或工具。我想自己做。我该怎么做 ?我应该搜索什么?
答案 0 :(得分:3)
您需要使用第三方服务或工具来收集GeoLocation。我建议尝试IPInfoDB,http://www.ipinfodb.com,这是一个免费的GeoLocation服务。注册API密钥后,您可以按如下方式使用C#中的服务:
public static GeoLocation HostIpToPlaceName(string ip)
{
string url = "http://api.ipinfodb.com/v2/ip_query.php?key={enterAPIKeyHere}&ip={0}&timezone=false";
url = String.Format(url, ip);
var result = XDocument.Load(url);
var location = (from x in result.Descendants("Response")
select new GeoLocation
{
City = (string)x.Element("City"),
Region = (string)x.Element("RegionName"),
CountryId = (string)x.Element("CountryName")
}).First();
return location;
}
有许多服务提供GeoLocation但IPInfoDB是免费的,并且对我来说效果很好。
您还可以使用HTML5在客户端收集此信息,如http://html5demos.com/geo所示。当然,如果您想在代码中使用此信息,您将不得不将其传递给后端。
答案 1 :(得分:2)
您所谈论的概念称为地理位置。它的要点是有数据库将IP地址映射到ISP和ISP到物理位置。这是我用过的谷歌搜索。
geo locate ip address
这个页面特别有趣,因为它提供了一个很好的解释和一些免费数据来源。
祝你好运。