热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

node.jsdnspromses.resolveany()方法

node.jsdnspromses.resolveany()方法

node . js dnspromses . resolveany()方法

原文:https://www . geesforgeks . org/node-js-dnspromses-resolve any-method/

dnsPromises.resolveAny()方法是 dns 模块 Promises 对象的内置应用编程接口,用于使用 DNS 协议解析指定主机名的所有记录(即“Any”或“*”)。

语法:

dnsPromises.resolveAny( hostname )

参数:该方法接受如上所述的单个参数,如下所述:


  • 主机名:该参数指定一个字符串,该字符串表示要解析的主机名。

返回:此方法返回错误,记录。
可能归还的记录包括


  • A: IPv4 地址

  • AAAA: IPv6 地址

  • 任意:任意记录

  • CNAME: 典名记载

  • MX: 邮件交换记录

  • NAPTR: 名称权限指针记录

  • NS: 名称服务器记录

  • PTR: 指针记录

  • SOA: 权限记录的开始

  • SRV: 服务记录

  • TXT: 文字记录

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

例 1:

// Node.js program to demonstrate the   
// dnsPromises.resolveAny() method
// Accessing promises object from dns module
const dns = require('dns');
const dnsPromises = dns.promises;
// Calling dnsPromises.resolveAny() method 
dnsPromises.resolveAny('geeksforgeeks.org').then((res) => {
    console.log("for geeksforgeeks : ");
    console.log(res);
});
// Calling dnsPromises.resolveAny() method 
dnsPromises.resolveAny('localhost').then((res) => {
    console.log("for localhost : ");
    console.log(res);
});

输出:

for localhost :
[ { address: '127.0.0.1', ttl: 0, type: 'A' } ]
for geeksforgeeks :
[ { exchange: 'alt1.aspmx.l.google.com', priority: 5, type: 'MX' },
{ exchange: 'alt2.aspmx.l.google.com', priority: 5, type: 'MX' },
{ exchange: 'aspmx.l.google.com', priority: 1, type: 'MX' },
{ exchange: 'alt3.aspmx.l.google.com', priority: 10, type: 'MX' },
{ exchange: 'alt4.aspmx.l.google.com', priority: 10, type: 'MX' },
{ value: 'ns-1520.awsdns-62.org', type: 'NS' },
{ value: 'ns-1569.awsdns-04.co.uk', type: 'NS' },
{ value: 'ns-245.awsdns-30.com', type: 'NS' },
{ value: 'ns-869.awsdns-44.net', type: 'NS' },
{ entries:
[ 'v=spf1 include:amazonses.com include:_spf.google.com -all' ],
type: 'TXT' },
{ entries: [ 'fob1m1abcdp777bf2ncvnjm08n' ], type: 'TXT' },
{ nsname: 'ns-869.awsdns-44.net',
hostmaster: 'awsdns-hostmaster.amazon.com',
serial: 1,
refresh: 7200,
retry: 900,
expire: 1209600,
minttl: 86400,
type: 'SOA' } ]

例 2:

// Node.js program to demonstrate the   
// dnsPromises.resolveAny() method
// Accessing promises object from dns module
const dns = require('dns');
const dnsPromises = dns.promises;
// Calling dnsPromises.resolveAny() method 
// asynchronously 
(async function() {
    // Records from resolveAny function
    const records = await dnsPromises.resolveAny('geeksforgeeks.org');
    // Printing  records
    console.log("from async: ");
    console.log(records);   
})();

输出:

from async:
[ { exchange: 'alt4.aspmx.l.google.com', priority: 10, type: 'MX' },
{ exchange: 'alt1.aspmx.l.google.com', priority: 5, type: 'MX' },
{ exchange: 'alt2.aspmx.l.google.com', priority: 5, type: 'MX' },
{ exchange: 'aspmx.l.google.com', priority: 1, type: 'MX' },
{ exchange: 'alt3.aspmx.l.google.com', priority: 10, type: 'MX' },
{ value: 'ns-869.awsdns-44.net', type: 'NS' },
{ value: 'ns-1520.awsdns-62.org', type: 'NS' },
{ value: 'ns-245.awsdns-30.com', type: 'NS' },
{ value: 'ns-1569.awsdns-04.co.uk', type: 'NS' },
{ entries:
[ 'v=spf1 include:amazonses.com include:_spf.google.com -all' ],
type: 'TXT' },
{ entries: [ 'fob1m1abcdp777bf2ncvnjm08n' ], type: 'TXT' },
{ nsname: 'ns-869.awsdns-44.net',
hostmaster: 'awsdns-hostmaster.amazon.com',
serial: 1,
refresh: 7200,
retry: 900,
expire: 1209600,
minttl: 86400,
type: 'SOA' } ]

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

参考:https://nodejs . org/API/DNS . html # DNS _ dnsprymes _ resolve any _ hostname


推荐阅读
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文分享了一个关于在C#中使用异步代码的问题,作者在控制台中运行时代码正常工作,但在Windows窗体中却无法正常工作。作者尝试搜索局域网上的主机,但在窗体中计数器没有减少。文章提供了相关的代码和解决思路。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • 本文讨论了clone的fork与pthread_create创建线程的不同之处。进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性。但是二者之间的通讯需要通过专门的通讯机制,另外通过fork创建子进程系统开销很大。因此,在某些情况下,使用clone或pthread_create创建线程可能更加高效。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 本文介绍了如何使用Express App提供静态文件,同时提到了一些不需要使用的文件,如package.json和/.ssh/known_hosts,并解释了为什么app.get('*')无法捕获所有请求以及为什么app.use(express.static(__dirname))可能会提供不需要的文件。 ... [详细]
  • 本文介绍了如何使用PHP向系统日历中添加事件的方法,通过使用PHP技术可以实现自动添加事件的功能,从而实现全局通知系统和迅速记录工具的自动化。同时还提到了系统exchange自带的日历具有同步感的特点,以及使用web技术实现自动添加事件的优势。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文详细介绍了Java中vector的使用方法和相关知识,包括vector类的功能、构造方法和使用注意事项。通过使用vector类,可以方便地实现动态数组的功能,并且可以随意插入不同类型的对象,进行查找、插入和删除操作。这篇文章对于需要频繁进行查找、插入和删除操作的情况下,使用vector类是一个很好的选择。 ... [详细]
author-avatar
一截藏青线
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有