Node.js – dns.lookupService() 方法

该方法将给定的地址和端口解析为主机名和服务。此方法使用操作系统的底层getnameinfo实现。一个类型错误,如果地址不是有效的IP地址将被抛出。dns.lookupService()

语法

dns.lookupService(address, port, callback)

参数

  • address - 此参数接受需要解析的 IP 地址的输入。

  • port - 此参数接受与 IP 地址相关的端口号的输入。

  • 回调- 它将捕获错误(如果有)。

示例 1

创建一个名为“ lookupService.js ”的文件并复制以下代码。创建文件后,使用命令“ node lookupService.js ”运行此代码,如下例所示 -

// dns.lookupService() 演示示例

// 导入 dns 模块
const dns = require('dns');

// 传递IP地址和端口
dns.lookupService('127.0.0.1', 22, (err, hostname, service) => {
   console.log(hostname, service);
});
输出结果

它将产生以下输出 -

localhost ssh

示例 2

让我们再举一个例子 -

// dns.lookupService() 演示示例

// 导入 dns 模块
const dns = require('dns');

// 传递以下选项进行查找
const options = {
   //IPv4
   family: 4,
   hints:dns.ADDRCONFIG| dns.V4MAPPED,
};

dns.lookup('nhooo.com',
   options, (err, address, family) => {

      console.log('address:', address);
         if(err){
            console.log(err.stack);
         } else{
         // 调用 dns.lookupService() 方法
         // 检索 IP 地址的详细信息
         dns.lookupService(address, 80,(err, hostname, service) => {
            if(err){
               console.log(err.stack);
            }
            // 打印主机名和服务
            // 作为回调
            console.log(hostname, service);
      });
   }
});
输出结果
address: 157.90.94.102
nhooo.com http