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