如果我想为网站提供适合位置的内容,我可以使用哪些方法通过访客的IP或标题信息找到访客的大致位置?
如果我想为网站提供适合位置的内容,我可以使用哪些方法通过访客的IP或标题信息找到访客的大致位置?
Answers:
首先,您应该知道这些服务的准确性一直并将是很低的。
MaxMind Geolite城市是免费的。如果不够好,显然可以升级到更准确的付费版本。我不能说付费版本的质量,因为我从未使用过。
如果您喜欢SQL,请下载 CSV版本。将其加载到您选择的数据库中,然后查询。
更快且节省空间的选项是下载文件二进制Blob版本同一数据库,然后使用来自同一网站的特定于语言的API对其进行查询。
另外,我发现ipinfodb.com很有用。通过简单的HTTP GET查询。例如,要对stackoverflow.com进行地理位置定位,请尝试:
http://ipinfodb.com/ip_query.php?timezone=false&ip=69.59.196.211
这将返回一个包含纬度和经度的XML文件,如下所示:
<Response>
<Ip>69.59.196.211</Ip>
<Status>OK</Status>
<CountryCode>US</CountryCode>
<CountryName>United States</CountryName>
<RegionCode>41</RegionCode>
<RegionName>Oregon</RegionName>
<City>Corvallis</City>
<ZipPostalCode>97333</ZipPostalCode>
<Latitude>44.4698</Latitude>
<Longitude>-123.343</Longitude>
</Response>
Geo-Location-Javascript程序包是包装移动支持的选项,尽管它在大多数桌面浏览器上也能很好地工作(以我的经验来看,除了IE),它包装了提到的HTML5 GeoLocation API Sean。我发现移动浏览器对HTML5 API的支持非常差(不过这并不奇怪,因为它仍处于草稿阶段),所以这就是我选择此软件包的原因。
moblie设备在蜂窝和WiFi连接(如果设备具有GPS的话)上的结果也很好。桌面浏览器报告的位置与其他服务相当。
您可以使用此URL并将其传递给IP地址。 http://api.hostip.info/get_html.php?ip=84.32.32.44
Quova http://www.quova.com/也提供服务。我昨天在GeoLoco与他们交谈。根据他们的说法(因此带一点盐),他们说他们在国际上比MaxMind好得多。在北美,它们大致相等。
请注意,对于移动电话,IP可能会映射到运营商拥有互联网网关的任何位置。如果您定位手机,也可以尝试使用-http: //www.loc-aid.com/。
Google Analytics(分析)会提供有关访问者位置的基本地图和统计信息。当然,您必须与Google分享此信息...
如果您要根据其地理位置向他们提供内容或广告,则不能依靠从设备获取位置数据。即使他们在手机上,也很有可能关闭了GPS和wifi,并且必须征得他们的同意才能共享位置。
就像是:“嘿,您可以和我分享您的位置,以便为您提供与您的地理位置最相关的内容和广告吗?” 回应:“不!给我最好的内容和广告”
无需征求他们许可即查找位置的唯一方法是通过其IP地址。您可以在自己的服务器上安装数据库,并对其进行查询以查找IP地址的位置,或使用必须查询并获取结果的外部API。我正在使用ipgp地理位置api,效果很好。(http://www.ipgp.net/ip-address-geolocation-api/)