JS在线运行

版本:

所属目录
点击了解高性能代码运行API
运行结果
教程手册
代码仓库
极速运行
终端运行
图形+终端

                        
以下是用户最新保存的代码
简单的自动曝光(简单逻辑分析) 发布于:2025-03-13 17:01 工作安排(动态规划 01背包) 发布于:2025-03-13 16:51 贪心的商人:只要后一天比前一天大就按最大值买入卖出 发布于:2025-03-13 16:29 // JavaScript 事件循环(Event Loop) 发布于:2025-03-13 13:53 // 判断一个字符串是否括号匹配 发布于:2025-03-13 10:31 最左侧冗余覆盖子串 发布于:2025-03-12 19:48 最小的调整次数(逻辑分析) 发布于:2025-03-12 18:47 字符串压缩表示的解压 发布于:2025-03-12 18:34 最长子序列的长度 发布于:2025-03-12 18:04 斗地主之顺子 发布于:2025-03-11 19:33 内存资源分配 发布于:2025-03-11 18:54 日志采集系统 发布于:2025-03-11 18:02 三个矩形相交的面积 发布于:2025-03-11 17:44 补种未存活胡杨 发布于:2025-03-11 17:19 高低频修图 发布于:2025-03-10 15:43 Subscriber form processing 发布于:2025-03-09 23:46 高矮个子排队 发布于:2025-03-07 19:03 判断一组不等式是否满足约束并输出最大差 发布于:2025-03-07 18:53 分糖果(digui) 发布于:2025-03-07 18:25 最长子字符串的长度(一) 发布于:2025-03-07 18:20 【数组拼接】 发布于:2025-03-07 18:11 计算三叉搜索树的高度 发布于:2025-03-07 17:44 计算三叉搜索树的高度 发布于:2025-03-07 17:44 增强的strstr 发布于:2025-03-07 17:16 相应报文时间 发布于:2025-03-06 19:20 计算面积( 发布于:2025-03-06 18:59 学生排序算法 发布于:2025-03-06 18:22 整数对最小和 发布于:2025-03-06 17:18 字符串变换最小字符串 发布于:2025-03-06 17:06 考勤判定算法 发布于:2025-03-06 16:52 物品数量加一 发布于:2025-03-05 21:46 连续字母长度 发布于:2025-03-04 19:12 英文输入法 发布于:2025-03-04 18:52 字符串分割 发布于:2025-03-04 18:33 防沉迷系统 发布于:2025-03-04 18:00 TLV解码 发布于:2025-03-04 16:39 敏感字段加密 发布于:2025-03-03 19:31 001 流浪地球 发布于:2025-03-03 18:49 星创社|超级码力-海报 发布于:2025-03-03 10:15 一开始就不知道是什么作用的函数 发布于:2025-03-02 18:48 blob对象转换成文本 发布于:2025-02-27 15:28 比较数据是否一致 发布于:2025-02-26 18:09 格式化大模型返回的markdown格式的字符串 发布于:2025-02-25 15:46 判断时间段是否包含 发布于:2025-02-20 19:57 自动计算拼版数量 发布于:2025-02-20 12:50 显示头加上当前列表的物品名称 发布于:2025-02-20 00:53 自定义对象的valueOf方法 发布于:2025-02-12 15:12 IP地址计算 发布于:2025-02-10 15:48 get取值器函数和set存值器函数 发布于:2025-02-10 10:40 数字文本日期格式化 发布于:2025-02-09 09:19 [更多]
显示目录

DNS 模块



学习嵌入式的绝佳套件,esp8266开源小电视成品,比自己去买开发板+屏幕还要便宜,省去了焊接不当搞坏的风险。 蜂鸣版+触控升级仅36元,更强的硬件、价格全网最低。

点击购买 固件广场

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操作系统环境提供线上编译和线上运行,具有运行快速,运行结果与常用开发、生产环境保持一致的特点。
yout