📜  Node.js dnsPromises.lookupService() 方法

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

Node.js dnsPromises.lookupService() 方法

dnsPromises.lookupService() 方法是 dns 模块的 promises 对象的内置应用程序编程接口,用于使用操作系统的底层 getnameinfo 实现将地址和端口号解析为主机名和服务。

句法:

dnsPromises.lookupService( address, port )

参数:此方法有两个参数,如前所述,如下所述:

  • 地址:它指定一个字符串,表示要解析的地址。
  • port:一个数字,指定要解析其服务的地址的端口号。

返回值:此方法返回错误、主机名和服务。

下面的例子说明了 Node.js 中dnsPromises.lookupService() 方法的使用:

示例 1:

// Node.js program to demonstrate the   
// dnsPromises.lookupService() method
  
// Accessing promises object from dns module
const dns = require('dns');
const dnsPromises = dns.promises;
   
// Calling dnsPromises.lookupService() method
// for 127.0.0.1 port  number 22
dnsPromises.lookupService('127.0.0.1', 22).then((res) => {
    console.log(res.hostname, res.service);
});

输出:这里我的电脑名称是 my-lappy

my-lappy ssh

示例 2:

// Node.js program to demonstrate the   
// dnsPromises.lookupService() method
  
// Accessing promises object from dns module
const dns = require('dns');
const dnsPromises = dns.promises;;
   
// Setting options for dnsPromises.lookup() method
const options = {
      
    // Setting family as 4 i.e. IPv4
    family: 4,
    hints: dns.ADDRCONFIG | dns.V4MAPPED,
};
   
dnsPromises.lookup('geeksforgeeks.org', options).then((response) => {
    if(response){
        console.log(response);
          
        // Calling dnsPromises.lookupService() method 
        dnsPromises.lookupService(response.address, 80).then((res) => {
            console.log(res.hostname, res.service);
        });
    }
});

输出:

{ address: '34.218.62.116', family: 4 }
ec2-34-218-62-116.us-west-2.compute.amazonaws.com 334

注意:以上程序将使用node index.js命令编译运行。

参考: https://nodejs.org/api/dns.html#dns_dnspromises_lookupservice_address_port