摘要

nds模块是node.js用于解析域名的模块,对域名的解析非常快捷方便。

DNS

引入dns模块

//引入dns模块
var dns=require("dns");

方法

序号 方法 & 描述
1 dns.lookup(hostname[, options], callback)
将域名(比如 'runoob.com')解析为第一条找到的记录 A (IPV4)或 AAAA(IPV6)。参数 options可以是一个对象或整数。如果没有提供 options,IP v4 和 v6 地址都可以。如果 options 是整数,则必须是 4 或 6。
2 dns.lookupService(address, port, callback)
使用 getnameinfo 解析传入的地址和端口为域名和服务。
3 dns.resolve(hostname[, rrtype], callback)
将一个域名(如 'runoob.com')解析为一个 rrtype 指定记录类型的数组。
4 dns.resolve4(hostname, callback)
和 dns.resolve() 类似, 仅能查询 IPv4 (A 记录)。 addresses IPv4 地址数组 (比如,['74.125.79.104', '74.125.79.105', '74.125.79.106'])。
5 dns.resolve6(hostname, callback)
和 dns.resolve4() 类似, 仅能查询 IPv6( AAAA 查询)
6 dns.resolveMx(hostname, callback)
和 dns.resolve() 类似, 仅能查询邮件交换(MX 记录)。
7 dns.resolveTxt(hostname, callback)
和 dns.resolve() 类似, 仅能进行文本查询 (TXT 记录)。 addresses 是 2-d 文本记录数组。(比如,[ ['v=spf1 ip4:0.0.0.0 ', '~all' ] ])。 每个子数组包含一条记录的 TXT 块。根据使用情况可以连接在一起,也可单独使用。
8 dns.resolveSrv(hostname, callback)
和 dns.resolve() 类似, 仅能进行服务记录查询 (SRV 记录)。 addresses 是 hostname可用的 SRV 记录数组。 SRV 记录属性有优先级(priority),权重(weight), 端口(port), 和名字(name) (比如,[{'priority': 10, 'weight': 5, 'port': 21223, 'name': 'service.example.com'}, ...])。
9 dns.resolveSoa(hostname, callback)
和 dns.resolve() 类似, 仅能查询权威记录(SOA 记录)。
10 dns.resolveNs(hostname, callback)
和 dns.resolve() 类似, 仅能进行域名服务器记录查询(NS 记录)。 addresses 是域名服务器记录数组(hostname 可以使用) (比如, ['ns1.example.com', 'ns2.example.com'])。
11 dns.resolveCname(hostname, callback)
和 dns.resolve() 类似, 仅能进行别名记录查询 (CNAME记录)。addresses 是对 hostname 可用的别名记录数组 (比如,, ['bar.example.com'])。
12 dns.reverse(ip, callback)
反向解析 IP 地址,指向该 IP 地址的域名数组。
13 dns.getServers()
返回一个用于当前解析的 IP 地址数组的字符串。
14 dns.setServers(servers)
指定一组 IP 地址作为解析服务器。

rrtypes

以下列出了 dns.resolve() 方法中有效的 rrtypes值:

  • 'A' IPV4 地址, 默认
  • 'AAAA' IPV6 地址
  • 'MX' 邮件交换记录
  • 'TXT' text 记录
  • 'SRV' SRV 记录
  • 'PTR' 用来反向 IP 查找
  • 'NS' 域名服务器记录
  • 'CNAME' 别名记录
  • 'SOA' 授权记录的初始值

错误码

每次 DNS 查询都可能返回以下错误码:

  • dns.NODATA: 无数据响应。
  • dns.FORMERR: 查询格式错误。
  • dns.SERVFAIL: 常规失败。
  • dns.NOTFOUND: 没有找到域名。
  • dns.NOTIMP: 未实现请求的操作。
  • dns.REFUSED: 拒绝查询。
  • dns.BADQUERY: 查询格式错误。
  • dns.BADNAME: 域名格式错误。
  • dns.BADFAMILY: 地址协议不支持。
  • dns.BADRESP: 回复格式错误。
  • dns.CONNREFUSED: 无法连接到 DNS 服务器。
  • dns.TIMEOUT: 连接 DNS 服务器超时。
  • dns.EOF: 文件末端。
  • dns.FILE: 读文件错误。
  • dns.NOMEM: 内存溢出。
  • dns.DESTRUCTION: 通道被摧毁。
  • dns.BADSTR: 字符串格式错误。
  • dns.BADFLAGS: 非法标识符。
  • dns.NONAME: 所给主机不是数字。
  • dns.BADHINTS: 非法HINTS标识符。
  • dns.NOTINITIALIZED: c c-ares 库尚未初始化。
  • dns.LOADIPHLPAPI: 加载 iphlpapi.dll 出错。
  • dns.ADDRGETNETWORKPARAMS: 无法找到 GetNetworkParams 函数。
  • dns.CANCELLED: 取消 DNS 查询。

一个例子

运行

资料

http://www.runoob.com/nodejs/nodejs-dns-module.html

[Node.js]DNS模块相关推荐

  1. Node.js DNS 模块

    Node.js 工具模块 Node.js DNS 模块用于解析域名.引入 DNS 模块语法格式如下: var dns = require("dns") 方法 序号 方法 & ...

  2. Node.js 工具模块

    在 Node.js 模块库中有很多好用的模块.接下来我们为大家介绍几种常用模块的使用: 序号 模块名 & 描述 1 OS 模块 提供基本的系统操作函数. 2 Path 模块 提供了处理和转换文 ...

  3. node.js中模块_在Node.js中需要模块:您需要知道的一切

    node.js中模块 by Samer Buna 通过Samer Buna 在Node.js中需要模块:您需要知道的一切 (Requiring modules in Node.js: Everythi ...

  4. Node.js中模块加载机制

    Node.js中模块加载机制 模块查找规则-当模块拥有路径但没有后缀时 1. require方法根据模块路径查找模块,如果是完整路径,直接引入模块. 2. 如果模块后缀省略,先找同名JS文件再找同名J ...

  5. Node.js Web 模块

    Node.js Web 模块 什么是 Web 服务器? Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,Web服务器的基本功能就是提供Web信息浏览服务.它只需支持HTTP协议. ...

  6. Node.js Domain 模块

    Node.js 工具模块 Node.js Domain(域) 简化异步代码的异常处理,可以捕捉处理try catch无法捕捉的异常.引入 Domain 模块 语法格式如下: var domain = ...

  7. Node.js Net 模块

    Node.js 工具模块 Node.js Net 模块提供了一些用于底层的网络通信的小工具,包含了创建服务器/客户端的方法,我们可以通过以下方式引入该模块: var net = require(&qu ...

  8. Node.js Path 模块

    Node.js 工具模块 Node.js path 模块提供了一些用于处理文件路径的小工具,我们可以通过以下方式引入该模块: var path = require("path") ...

  9. Node.js OS 模块

    Node.js 工具模块 Node.js os 模块提供了一些基本的系统操作函数.我们可以通过以下方式引入该模块: var os = require("os") 方法 序号 方法 ...

最新文章

  1. python窗体设置italic_007萝卜头学python:Python GUI 之Tkinter
  2. 深入理解javascript原型和闭包(11)——执行上下文栈
  3. ​KDD 2019 | 用户视角看世界:腾讯提出ConcepT概念挖掘系统,助力推荐搜索
  4. SAP ABAP 编程语言里允许哪些特殊字符作为变量名的一部分?
  5. Linux 手动安装Ettercap
  6. MD5计算,一个扩展类,哪里都能用
  7. Redis(案例四:购物车实现案例-Hash数据)
  8. linux树莓派 ssh密码,树莓派之SSH连接经验
  9. 1970“变种”bug连WiFi热点iOS设备会变砖?
  10. 583. 两个字符串的删除操作(JavaScript)
  11. 求一个容器的最值的索引_初中数学:一道几何好题,学会“胡不归问题”动点最值解题方法...
  12. tomcat9无法登陆控制界面
  13. java转盘抽奖代码_Java 实现大转盘抽奖
  14. Gap Locks(间隙锁)
  15. 电路实验一阶电路误差分析_动态电路分析
  16. VOIP技术发展综述与外呼系统的关系
  17. 我的win10平板维修,重刷系统的经验,windows pe5.0拯救我的平板
  18. 人工智能实验报告 牧师与野人渡河 知识表示方法
  19. 【渝粤题库】陕西师范大学164103 网络贸易 作业 (高起专)
  20. 关键词分词工具_关键词在SEO推广中的重要作用

热门文章

  1. 一图看懂学位服:学位帽、学位袍、流苏、垂布
  2. OpenCV之objdetect 模块. 物体检测:级联分类器
  3. 回顾我走过的编程之路
  4. 大数据预测:成都、郑州等跻身春节十大“瘦身”城市
  5. Puppet的一些奇技淫巧
  6. 离散数学及其应用 (Kenneth H·Rosen 著)
  7. rman备份恢复总结
  8. shell+飞信实现网站监控
  9. SDUT2608(Alice and Bob)
  10. opengl 教程(21) 聚光灯