IP和位置信息

时间:2012-03-10 21:23:16

标签: c# location ip

我搜索过ip& amp;我的网站的位置。我想知道访问者进入网站的位置。根据他的位置,我将制作一些录音,显示具有不同主题的网站等。

我使用的是Asp.Net,我不会使用任何提供商或工具。我想自己做。我该怎么做 ?我应该搜索什么?

2 个答案:

答案 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

这个页面特别有趣,因为它提供了一个很好的解释和一些免费数据来源。

http://www.iplocation.net/

祝你好运。