[Node.js]DNS模块
生活随笔
收集整理的這篇文章主要介紹了
[Node.js]DNS模块
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
摘要
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模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js的日期计算
- 下一篇: git stash的用法