JS代码信息

运行结果
教程手册
代码仓库
极速运行
交互输入
极速运行模式,不支持键盘输入语句但是拥有更高的运行速度,输出简洁明了 。 点击编辑器上方的运行按钮即刻体验吧。
以下是用户最新保存的代码
函数珂里化 发布于:2020-09-29 16:47 防抖和节流 发布于:2020-09-29 16:45 记住密码功能 发布于:2020-09-29 17:03 类数组转换数组 发布于:2020-09-29 13:47 类数组转换数组 发布于:2020-09-29 10:07 数组去重的方法 发布于:2020-09-29 11:21 数组扁平化 发布于:2020-09-29 09:56 手写代码练习------mycall myappl... 发布于:2020-09-29 09:42 最大公约数、最小公倍数 发布于:2020-09-29 00:06  实现发布/订阅模式 发布于:2020-09-28 15:58 异步、作用域、闭包 发布于:2020-09-28 17:53 js数组push压栈操作 发布于:2020-09-28 10:27 手写代码练习-----类数组转数组 发布于:2020-09-28 09:45 不论代码顺序如何,d 必定发生在 c 之后,因为 ... 发布于:2020-09-27 17:32 手写代码练习----去重 发布于:2020-09-27 09:35 实现instanceOf机制 发布于:2020-09-27 00:25 手动实现浅克隆 发布于:2020-09-26 23:05 手动实现深克隆 发布于:2020-09-26 22:59 矩阵,最短目标之间的最小总和值 发布于:2020-09-28 17:07 手写代码练习-----数组扁平化---flatMa... 发布于:2020-09-28 23:59 三角形最小值 发布于:2020-09-24 10:50 leetcode120 三角形最小值动态规划 发布于:2020-09-25 17:07 bind的用法 发布于:2020-09-23 23:36 js实现深拷贝 发布于:2020-09-23 16:03 JavaScript代码 发布于:2020-09-22 19:54 几种常见的排序方案 发布于:2020-09-22 19:09 基于Promise对象实现Promise.all方... 发布于:2020-09-22 12:06 手写代码练习----懒加载 发布于:2020-09-25 00:01 初级算法-旋转数组 发布于:2020-09-19 15:31 初级算法-买卖股票的最佳时机 II 发布于:2020-09-19 13:53 两数求和(指定值) 发布于:2020-09-18 17:13 二维数组中的查找 发布于:2020-09-17 21:21 江干区H5 发布于:2020-09-17 16:40 设计模式---单例模式 发布于:2020-09-17 14:53 加密分割: 发布于:2020-09-16 15:45 用0、1、2、3、4、5组成4位数,要求每一位都不... 发布于:2020-09-14 11:22 自测测试代码 发布于:2020-09-12 11:40 cookie生成 发布于:2020-09-13 20:06 加入正则实现手写new的写法 发布于:2020-09-11 11:40 await的用法 发布于:2020-09-10 17:35 校验统一信用码 发布于:2020-09-10 17:33 保存的一些数据 发布于:2020-09-10 16:23 树形结构转换 发布于:2020-09-10 14:41 浏览器宏任务和微任务的触发机制 发布于:2020-09-10 14:05 js-函数 发布于:2020-09-10 14:48 6种为false的特殊值 发布于:2020-09-10 11:06 typeof()的使用 发布于:2020-09-10 10:30 js继承的几种方式 发布于:2020-09-09 15:00 手写new 发布于:2020-09-09 15:13 手写 bind 发布于:2020-09-09 14:36 [更多]
显示目录

DNS 模块

DNS 模块

Node.js DNS 模块用于解析域名。引入 DNS 模块语法格式如下:

var dns = require("dns")

方法

序号 方法 & 描述
1 dns.lookup(hostname[, options], callback)
将域名(比如 '123.cn')解析为第一条找到的记录 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)
将一个域名(如 '123.cn')解析为一个 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"]
由JSRUN为你提供的JS在线工具
        JSRUN提供的JS在线运行,JS 在线编译工具,基于linux操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。

title

使用此草稿 删除草稿