在开发 Web 应用程序时,获取用户的 IP 地址是非常常见的需求。而 npm 包 ipapi.co
就是帮助开发者获取用户 IP 地址并返回一些相关信息的工具。本文将介绍如何使用 ipapi.co
包来获取用户的 IP 地址以及附带的一些信息。
安装
使用 npm 命令来安装 ipapi.co
包:
npm install ipapi.co
或者在你的 package.json
文件中添加依赖项:
"dependencies": { "ipapi.co": "latest" }
使用
使用 ipapi.co
包的前提是你需要有一个 IP 地址。如果你正在开发一个 Web 应用程序,那么通常情况下,可以通过 req.headers['x-forwarded-for']
来获取到用户的 IP 地址。
const ipapi = require('ipapi.co'); const ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress; ipapi.location(ip) .then(response => { console.log(response); }) .catch(err => console.error(err));
可以看到,在上述代码中,我们首先获取了用户的 IP 地址,然后使用 ipapi.co
的 location
方法来获取用户 IP 的地址信息。 location
方法返回一个 Promise 对象,成功时将返回一个包含 IP 地址信息的 JSON 对象。在上例中,我们将返回信息输出到控制台。
返回值
location
方法返回的信息包含了 IP 地址的详细信息,比如国家、城市、邮编等等。下面是一个完整的示例返回值:
-- -------------------- ---- ------- - ----- ---------- ------- --------- ------ --------- ------------- -------------- ----- ---------- ----- --------------- ------- -------- ----------------- ----- -------- ------ --------- -------- ----------- ------- ------------ ---------- ----------- ---------------------- ------------- -------- ----------------------- ----- ----------- ------ ------------ ------------------ ------ ---------- ------ ------- ----- ----------- - ----------- ------ ------------- ----- ------------- ------ --------------- ----- --------- ------ --------------- ---------- --------------- ---- -- ---------- ---- -
可以看到,返回值非常详细,包含了很多有用信息,如果按需求提取的话带来的便利不可言喻。
总结
通过 ipapi.co
包,我们可以方便地获取到用户的 IP 地址信息。当然,这里只介绍了 location
方法, ipapi.co
还有很多其他的方法可以用来获取地理位置、汇率等等。需要的读者可以参照官方文档自行查询学习。
参考链接
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600672503660cf7123b362af