21xrx.com
2024-11-05 18:50:02 Tuesday
登录
文章检索 我的文章 写文章
Node.js 如何获取 IP 地址?
2023-07-02 05:32:39 深夜i     --     --
Node js 获取 IP 地址

Node.js 是目前比较流行的开源 JavaScript 运行环境,可以方便地实现跨平台的高性能应用。在开发中,有时需要获取客户端的 IP 地址,以便对请求进行处理和分析。本文将介绍如何使用 Node.js 获取 IP 地址。

在 Node.js 中,可以通过获取 HTTP 请求的头部信息来获取客户端 IP 地址。具体代码如下:


const http = require('http');

http.createServer(function (req, res) {

 const ip = req.headers['x-forwarded-for'] || req.socket.remoteAddress;

 console.log(ip);

}).listen(3000);

其中,`x-forwarded-for` 可以获取经过反向代理后的 IP 地址,而`req.socket.remoteAddress` 则可以获取真实的 IP 地址。如果用户没有使用代理,则两种方式返回的 IP 地址是一样的。

除了 `http` 模块,还可以使用 `express` 快速创建 Web 应用程序,并获取客户端 IP 地址。具体代码如下:


const express = require('express');

const app = express();

app.get('/', function(req, res) {

 const ip = req.headers['x-forwarded-for'] || req.connection.remoteAddress;

 console.log(ip);

});

app.listen(3000);

这里的获取方式和上面的类似,也可以通过 `x-forwarded-for` 或 `req.connection.remoteAddress` 获取客户端 IP 地址。

以上就是在 Node.js 中获取客户端 IP 地址的方法,可以根据实际需求选择适合的方法进行使用。需要特别注意的是,在开发过程中要防止恶意攻击,例如伪造 IP 地址等,否则会对应用程序造成不必要的风险和损失。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复