Node.js DNS 模块
Node.js 工具模块
Node.js 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 查询。
实例
创建 main.js 文件,代码如下所示:
var dns = require('dns');dns.lookup('www.github.com', function onLookup(err, address, family) {console.log('ip 地址:', address);dns.reverse(address, function (err, hostnames) {if (err) {console.log(err.stack);}console.log('反向解析 ' + address + ': ' + JSON.stringify(hostnames)); }); });
执行以上代码,结果如下所示:
address: 192.30.252.130 reverse for 192.30.252.130: ["github.com"]
Node.js 工具模块
原文:http://www.runoob.com/nodejs/nodejs-dns-module.html
本文转自:Node.js DNS 模块
Node.js DNS 模块相关推荐
- [Node.js]DNS模块
摘要 nds模块是node.js用于解析域名的模块,对域名的解析非常快捷方便. DNS 引入dns模块 //引入dns模块 var dns=require("dns"); 方法 序 ...
- Node.js 工具模块
在 Node.js 模块库中有很多好用的模块.接下来我们为大家介绍几种常用模块的使用: 序号 模块名 & 描述 1 OS 模块 提供基本的系统操作函数. 2 Path 模块 提供了处理和转换文 ...
- node.js中模块_在Node.js中需要模块:您需要知道的一切
node.js中模块 by Samer Buna 通过Samer Buna 在Node.js中需要模块:您需要知道的一切 (Requiring modules in Node.js: Everythi ...
- Node.js中模块加载机制
Node.js中模块加载机制 模块查找规则-当模块拥有路径但没有后缀时 1. require方法根据模块路径查找模块,如果是完整路径,直接引入模块. 2. 如果模块后缀省略,先找同名JS文件再找同名J ...
- Node.js Web 模块
Node.js Web 模块 什么是 Web 服务器? Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,Web服务器的基本功能就是提供Web信息浏览服务.它只需支持HTTP协议. ...
- Node.js Domain 模块
Node.js 工具模块 Node.js Domain(域) 简化异步代码的异常处理,可以捕捉处理try catch无法捕捉的异常.引入 Domain 模块 语法格式如下: var domain = ...
- Node.js Net 模块
Node.js 工具模块 Node.js Net 模块提供了一些用于底层的网络通信的小工具,包含了创建服务器/客户端的方法,我们可以通过以下方式引入该模块: var net = require(&qu ...
- Node.js Path 模块
Node.js 工具模块 Node.js path 模块提供了一些用于处理文件路径的小工具,我们可以通过以下方式引入该模块: var path = require("path") ...
- Node.js OS 模块
Node.js 工具模块 Node.js os 模块提供了一些基本的系统操作函数.我们可以通过以下方式引入该模块: var os = require("os") 方法 序号 方法 ...
最新文章
- 元数据驱动的微服务架构(上)
- python使用matplotlib可视化使用subplots子图、subplots绘制子图并为可视化的子图添加主标题(subplots main title)
- 用python中函数输出杨辉三角_用Python输出一个杨辉三角的例子
- pythonweb开发-pythonWeb开发
- 2017年本博客知识体系引导(更新至2017.8.11)
- 实验六 数组 (2)
- 免费计算机维修基础教程,《计算机组装与维修基础教程》第1课:计算机基础知识.ppt...
- hotspot线程模型_Linux上的HotSpot GC线程CPU占用空间
- 操作mysql_MySQL 事务操作
- golang []byte和string相互转换
- 卸载linux订阅包
- hdu 3879 Base Station
- Paip.语义分析----情绪情感词汇表总结
- mvc新增,上架及下架
- linux如何复制代码不乱码,网上复制代码要小心,很可能会带入乱码字符
- Word控件Spire.Doc 【页面设置】教程(1):在C#/VB.NET:在 Word 文档中插入分页符
- steam社区打不开,解决mac无法打开steam社区的方法
- VB6 Chr码值对应列表大全
- PS标尺和标记线用法的简单记录
- 小项目之个人银行账户管理程序(1)
热门文章
- 图论 —— 网络流 —— 最大流 —— FF 算法与 EK 算法
- Lost Array(CF-1043B)
- 2的幂次方表示(信息学奥赛一本通-T1208)
- 计算机二级ms office知识点讲解,全国计算机二级MSOffice复习知识点
- 我的世界最危险的服务器生存系列,《我的世界》极具危险的服务器
- sql查看表的数据大小_查看Oracle 数据库的每天归档量及数据库大小
- java redis 故障切换_java使用Redis6–sentinel单点故障主从自动切换
- 30天自制操作系统 pdf_30天自制操作系统:第三天:系统引导完成
- scatter python_Python scatter详解
- python array函数_Python bytearray() 函数