📜  Express.js req.ip 属性

📅  最后修改于: 2022-05-13 01:56:36.463000             🧑  作者: Mango

Express.js req.ip 属性

req.ip属性包含请求的远程 IP 地址。当用户想要对应用程序发出的传入请求的 IP 地址时,它很有用。

句法:

req.ip

参数:无参数。

返回值:字符串

express模块的安装:

  1. 您可以访问安装 express 模块的链接。您可以使用此命令安装此软件包。
    npm install express
  2. 安装 express 模块后,您可以使用命令在命令提示符下检查您的 express 版本。
    npm version express
  3. 之后,您可以创建一个文件夹并添加一个文件,例如 index.js。要运行此文件,您需要运行以下命令。
    node index.js

示例 1:文件名:index.js

var express = require('express');
var app = express(); 
var PORT = 3000;
  
app.get('/', function (req, res) {
  console.log(req.ip);
  res.send();
});
  
app.listen(PORT, function(err){
    if (err) console.log(err);
    console.log("Server listening on PORT", PORT);
});

运行程序的步骤:

  1. 项目结构将如下所示:
  2. 确保您已使用以下命令安装express模块:
    npm install express
  3. 使用以下命令运行 index.js 文件:
    node index.js

    输出:

    Server listening on PORT 3000
    
  4. 现在打开浏览器并转到http://localhost:3000/ ,现在您可以在控制台上看到以下输出:
    Server listening on PORT 3000
    ::1
    

示例 2:文件名:app.js

var express = require('express');
var app = express(); 
var PORT = 3000;
  
app.enable('trust proxy')
app.get('/', function (req, res) {
  console.log(req.ip);
  res.send();
});
  
app.listen(PORT, function(err){
    if (err) console.log(err);
    console.log("Server listening on PORT", PORT);
});

使用以下命令运行app.js文件:

node app.js

输出:

Server listening on PORT 3000

现在打开浏览器,向http://localhost:3000/发出 GET 请求,标头设置为x-forwarded-for: 203.0.113.195 ,现在您可以在控制台上看到以下输出:

Server listening on PORT 3000
203.0.113.195

参考: https://expressjs.com/en/4x/api.html#req.ip