简介
ip-geocoder 是一个基于 Node.js 的 npm 包,它可以根据给定的 IP 地址,将其转化成对应的地理位置信息,包括国家、省份、城市、纬度和经度等。使用者可以通过直接调用 API 的方式,获得这些信息。ip-geocoder 支持多种数据源,包括纯 JS 版本、IP-API 和 FreeGeoIP,使用者可以自由切换。
安装
在使用 ip-geocoder 之前,需要先安装该 npm 包,可以通过以下命令在终端中进行安装:
$ npm install ip-geocoder
使用
初始化和设置
使用 ip-geocoder,首先需要初始化一个实例,再进行一些设置。
const Geocoder = require('ip-geocoder'); const options = { provider: 'freegeoip', language: 'en', } const geocoder = Geocoder(options);
- provider:数据源,可以是 'ip-api'、'freegeoip' 或 'custom',默认为 'ip-api';
- language:返回的信息中文本的语言,可以是 'en' 或 'zh-CN',默认为 'en'。
之后,可以利用此实例进行解析操作,详见下面的 API。
API
ip-geocoder 主要提供了以下 API:
geocoder.get(ip)
通过 IP 地址获取其对应的地理位置信息。
geocoder.get('8.8.8.8').then(data => { console.log(data); });
输出:
{ ip: '8.8.8.8', country: 'United States', region: 'Virginia', city: 'Ashburn', ll: [39.0438, -77.4874] }
geocoder.getDataSources()
获取当前可用的数据源。
geocoder.setDataSource(name)
切换数据源。
示例
完整的示例代码如下:
-- -------------------- ---- ------- ----- -------- - ----------------------- ----- ------- - - --------- ------------ --------- ----- - ----- -------- - ------------------ --------------------------------- -- - ------------------ ---
输出:
{ ip: '8.8.8.8', country: 'United States', region: 'Virginia', city: 'Ashburn', ll: [39.0438, -77.4874] }
总结
ip-geocoder 是一个非常方便的 npm 包,可以用于将 IP 地址转化成对应的地理位置信息,可以使用多种数据源,而且使用方式极为简单。使用者可以根据自己的需求选择数据源,再利用提供的 API 进行操作。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056cc381e8991b448e642c