当大多数人想到地理位置时,他们会记得熟悉的弹出式通知,说“网站想知道您的位置”。 但是您知道吗,您只需要IP地址就可以获取有关访客的地理位置信息,而无需任何额外的权限?
对于Web开发人员而言,地理位置是信息和功能的宝库,可增强访问者的体验并向开发人员提供有意义的信息。 虽然HTML5 Geolocation API当然可以为开发人员提供访问者设备的实际GPS坐标,但开发人员通常更需要更广泛的位置数据集。 他们可以使用访问者的IP地址获取该信息。
IP地址本身就是:互联网上设备的地址。 但是,万维网已有20多年的历史了,并且在很长的一段时间内,已经收集,关联和合并了数百万个与数百万个IP地址相关的数据。 虽然有许多提供IP地理位置数据的第三方服务 ,但没有第三方服务能像ipdata一样准确或可靠。 在研究如何使用ipdata的服务之前,让我们首先看一下为什么要使用地理位置数据。
地理位置的使用
有很多合理的原因,为什么您要收集访问者的地理位置数据并在应用程序中使用它们。
首先,您可以根据访问者的IP地址提供区域内容。 您的网站在全球范围内提供产品但在本地提供服务吗? 借助IP地理位置数据,您可以提供基于产品的常规内容,并以有关服务的特殊内容来定位本地访问者。
使用地理位置数据还可以帮助您确定属于欧盟《通用数据保护条例》的访问者,以便您可以正确遵守这些访问者的GDPR。
为什么要使用ipdata?
使用ipdata,您可以访问准确的IP地址智能API,从而可以查找任何IP地址的大致位置。 但最重要的是,ipdata还为公司查询提供聚合的开源威胁情报数据和IP,以及货币,时区和语言等国际化数据。 仅举几例,许多组织和公司(例如NASA,Comcast和Disney)都将ipdata与他们提供的地理位置数据相信任。
虽然您可以使用任何HTTP客户端来连接并使用其RESTful API,但是ipdata提供了C#,Java,PHP,JavaScript和Python的开源库,使使用API和响应数据变得轻而易举。 第三方库可用于Ruby,Swift和Go。
注意:本文在Node应用程序中使用ipdataJavaScript库,但是相同的思想和概念也可以应用于其他语言。 请参阅官方ipdata库文档 。
使用ipdata的API
我们需要的第一件事是Node应用程序。 确保从Node.js网站安装最新的Node LTS版本。 为应用程序的项目创建一个名为tutsplus-ipdata
的新目录。 然后打开操作系统的终端应用程序,导航到新创建的目录,然后键入以下内容以初始化项目:
npm init -y
现在,我们需要选择我们的应用程序框架。 是的,我们在技术上不需要一个,但是Express和Hapi等框架在构建基于Node的Web应用程序时大大提高了我们的生产力。 我们将使用Hapi,因此我们需要使用以下命令来安装它以及ipdata软件包: