dns.lookupService()方法是dns模块的内置应用程序编程接口,用于使用操作系统的基础getnameinfo实现将地址和端口号解析为主机名。
用法:
dns.lookupService( address, port, callback )
参数:此方法具有上述和以下所述的三个参数:
- address:它指定一个字符串,该字符串表示要解析的地址。
- port:此数字指定要解析其服务的地址的端口号。
- callback:它指定在解析地址和端口后要调用的函数。
- error:如果生成,则指定错误。
- hostname:主机名的字符串表示形式。例如geeksforgeeks.org
- service:这是一个字符串,指定服务的名称。例如http
返回值:此方法通过回调函数返回错误,主机名和服务。这些数据作为参数传递给回调函数。
以下示例说明了Node.js中dns.lookupService()方法的使用:
范例1:本地主机的IP
// Accessing dns module
const dns = require('dns');
// Calling dns.lookupService() method for
// 127.0.0.1 port number 22
dns.lookupService('127.0.0.1', 22,
(err, hostname, service) => {
// Printing hostname and service as callback
console.log(hostname, service);
});
输出:我的电脑名称是my-lappy
my-lappy ssh
范例2:
// Accessing dns module
const dns = require('dns');
// Setting options for dns.lookup() method
const options = {
// Setting family as 4 i.e. IPv4
family:4,
hints:dns.ADDRCONFIG | dns.V4MAPPED,
};
dns.lookup('www.geeksforgeeks.org',
options, (err, address, family) => {
console.log('address:', address);
if(err){
console.log(err.stack);
} else{
// Calling dns.lookupService() method
dns.lookupService(address, 80,
(err, hostname, service) => {
if(err){
console.log(err.stack);
}
// Printing hostname and service
// as callback
console.log(hostname, service);
});
}
});
输出:
address:42.106.162.241 42-106-162-241.live.vodafone.in http
注意:上面的程序将通过使用node filename.js
命令。
参考: https://nodejs.org/api/dns.html#dns_dns_lookupservice_address_port_callback
相关用法
注:本文由纯净天空筛选整理自gekcho大神的英文原创作品 Node.js | dns.lookupService() Method。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。