什么是 iptocc?
iptocc 是一个用于将 IPv4 和 IPv6 地址转换为对应的国家和城市的 Node.js 模块。它基于 MaxMind 的 GeoIP2 数据库,可以让开发者轻松地实现 IP 地址定位功能。
如何安装和使用 iptocc?
首先,在终端或命令行窗口中使用以下命令安装 iptocc:
npm install iptocc
然后,在 Node.js 项目中使用 require 方法引入 iptocc:
const iptocc = require('iptocc');
现在你可以使用 iptocc 提供的方法来查询 IP 地址的地理位置信息。
方法列表
iptocc 提供了多个方法用于查询 IP 地址的位置信息。这些方法包括:
lookup(ip: string): Object
这个方法用于查询给定 IP 地址的位置信息。它返回一个对象,包含以下字段:
country
: 国家名称city
: 城市名称latitude
: 纬度longitude
: 经度accuracy
: 精度(以米为单位)
示例代码:
const info = iptocc.lookup('114.114.114.114'); console.log(info);
输出结果:
{ country: '中国', city: '北京市', latitude: 39.9289, longitude: 116.3883, accuracy: 200 }
lookupPromise(ip: string): Promise<Object>
这个方法与 lookup
方法功能相同,但是返回一个 Promise 对象,可以使用 async/await 等方式处理异步结果。
示例代码:
async function test() { const info = await iptocc.lookupPromise('114.114.114.114'); console.log(info); } test();
输出结果与前面的示例相同。
isIPv4(ip: string): boolean
这个方法用于判断给定字符串是否为合法的 IPv4 地址。
示例代码:
console.log(iptocc.isIPv4('114.114.114.114')) // true console.log(iptocc.isIPv4('114.114.114.114.114')) // false
isIPv6(ip: string): boolean
这个方法用于判断给定字符串是否为合法的 IPv6 地址。
示例代码:
console.log(iptocc.isIPv6('240e:344:210:1::2')) // true console.log(iptocc.isIPv6('240e:344:210:1:::2')) // false
getCountry(ip: string): string
这个方法用于查询给定 IP 地址的国家名称。
示例代码:
console.log(iptocc.getCountry('114.114.114.114')) // 中国 console.log(iptocc.getCountry('240e:344:210:1::2')) // United States
注意事项
- 在使用
lookup
和lookupPromise
方法时,如果传入的参数不是合法的 IP 地址格式,将会抛出Error
异常。 - iptocc 使用了第三方数据库,因此需要从官网下载数据库文件,并在使用之前将其加载。可以使用
iptocc.update
方法更新数据库文件。 - 在使用 iptocc 时要注意地理位置信息的准确性,因为这些信息是基于数据库中的数据生成的。
结论
iptocc 是一个非常方便和实用的 Node.js 模块,可以帮助开发者轻松地实现 IP 地址定位功能。通过使用 iptocc 提供的方法,我们可以很容易地获取 IP 地址的地理位置信息,以便在开发中使用。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600668f0d9381d61a3540d5c