在 Express.js 中获取请求的域名信息


我们需要获取 DNS 信息才能追踪我们接收请求的地址。此功能还提供了一层额外的安全防护,可保护应用程序免受各种类型的 DOS 和 DDOS 攻击。

我们可以使用以下函数获取域名和主机信息。

语法

  • 获取起源信息

var origin = req.get('origin');
  • 获取主机信息

var host = req.get('host');

示例 1

创建一个名为"dnsInfo.js" 的文件,然后复制以下代码片段。创建文件后,使用命令"node dnsInfo.js"运行此代码,如下例所示 −

// Getting the Host info Demo Example
// Importing the express module
var express = require('express');

// Initializing the express and port number
var app = express();
var PORT = 3000;

// Creating a GET Api endpoint
app.get("/route", (req, res) => {
   var host = req.get('host');
   console.log(host)
   var origin = req.get('origin');
   console.log(origin)
})
app.listen(PORT, function(err){
   if (err) console.log(err);
   console.log("Server listening on PORT", PORT);
});

输出

用 GET 请求访问以下 URL:localhost:3000/route

C:\home
ode>> node dnsInfo.js Server listening on PORT 3000 localhost:3000 undefined

示例 2

我们再看一个示例。

// Getting the Host info Demo Example
// Importing the express module
var express = require('express');

// Initializing the express and port number
var app = express();
var PORT = 3000;

// Creating a GET Api endpoint
app.get("/route", (req, res) => {
   var host = req.get('host');
   console.log("Host: ", host)
   var origin = req.get('origin');
   console.log("Origin: ", origin)
   var userIP = req.socket.remoteAddress;
   console.log("UserIp: ", userIP)
   res.send("DNS host" + host +" origin: " + origin +" userIP : "+ userIP)
})
app.listen(PORT, function(err){
   if (err) console.log(err);
   console.log("Server listening on PORT", PORT);
});

输出

C:\home
ode>> node dnsInfo.js Server listening on PORT 3000 Host: localhost:3000 Origin: undefined UserIp: ::ffff:127.0.0.1

更新于: 06-Apr-2022

3K+ 浏览量

启动您的职业生涯 职业生涯

完成课程即可获得认证

开始学习
广告
© . All rights reserved.