Node.js โมดูล DNS
Node.js โมดูล DNS
Node.js โมดูล DNS ถูกนำมาใช้ในการแก้ไขชื่อโดเมนการแนะนำของไวยากรณ์โมดูล DNS เป็นดังนี้:
var dns = require("dns")
ทาง
เลขที่ | วิธีการและคำอธิบาย |
---|---|
1 | dns.lookup (ชื่อโฮสต์ [ตัวเลือก] โทรกลับ) ชื่อโดเมน (เช่น 'w3big.com') มีมติให้พบระเบียนแรก (IPV4) หรือ AAAA (IPv6) ตัวเลือกพารามิเตอร์สามารถเป็นวัตถุหรือจำนวนเต็ม ถ้ามีตัวเลือกไม่มีที่อยู่ IP v4 และ V6 สามารถ ถ้ามีตัวเลือกที่มีจำนวนเต็มมันจะต้องเป็น 4 หรือ 6 |
2 | dns.lookupService (ที่อยู่พอร์ตโทรกลับ) ใช้ getnameinfo แยกที่อยู่เข้าและพอร์ตสำหรับชื่อโดเมนและบริการ |
3 | dns.resolve (ชื่อโฮสต์ [rrtype] โทรกลับ) ชื่อโดเมน (เช่น 'w3big.com') ได้รับการแก้ไขไปยัง rrtype อาร์เรย์ระบุประเภทบันทึก |
4 | dns.resolve4 (ชื่อโฮสต์โทรกลับ) และ dns.resolve () จะคล้ายกันเพียงแบบสอบถาม IPv4 (บันทึก) ที่อยู่ที่อยู่ IPv4 ของอาร์เรย์ (ตัวอย่างเช่น [74 .125.79.104 '74 .125.79.105' 74 .125.79.106 ']) |
5 | dns.resolve6 (ชื่อโฮสต์โทรกลับ) และ dns.resolve4 () จะคล้ายกันเพียงแบบสอบถาม IPv6 (คำสั่ง AAAA) |
6 | dns.resolveMx (ชื่อโฮสต์โทรกลับ) และ dns.resolve () จะคล้ายกันเพียง แต่การแลกเปลี่ยนจดหมายแบบสอบถาม (ระเบียน MX) |
7 | dns.resolveTxt (ชื่อโฮสต์โทรกลับ) และ dns.resolve () จะคล้ายกันเพียง แต่สำหรับการค้นหาข้อความ (ระเบียน TXT) ข้อความที่อยู่ 2-D อาร์เรย์ของระเบียน (ตัวอย่างเช่น [[ 'v = spf1 ip4: 0.0.0.0', '~ All']]) แต่ละบล็อกย่อยอาร์เรย์มีระเบียน TXT ทั้งนี้ขึ้นอยู่กับสถานการณ์ที่สามารถเชื่อมโยงเข้าด้วยกันพวกเขายังสามารถใช้แยกกัน |
8 | dns.resolveSrv (ชื่อโฮสต์โทรกลับ) และ dns.resolve () จะคล้ายกันเพียง แต่ให้บริการแบบสอบถามบันทึก (ระเบียน SRV) ที่อยู่ชื่อโฮสต์สามารถใช้ได้ SRV บันทึกอาร์เรย์ ระเบียน SRV แอตทริบิวต์ลำดับความสำคัญ (ลำดับความสำคัญ) น้ำหนัก (น้ำหนัก), พอร์ต (พอร์ต) และชื่อ (ชื่อ) (ตัวอย่างเช่น [{สำคัญ ': 10, น้ำหนัก': 5 'ท่าเรือ': 21223 'ชื่อ ':' service.example.com '} ... ]) |
9 | dns.resolveSoa (ชื่อโฮสต์โทรกลับ) และ dns.resolve () จะคล้ายกันเพียงแบบสอบถามบันทึก Authority (SOA Record) |
10 | dns.resolveNs (ชื่อโฮสต์โทรกลับ) และ dns.resolve () จะคล้ายกันเพียง แต่ค้นหาระเบียนเซิร์ฟเวอร์ชื่อโดเมน (ระเบียน NS) อยู่แถวของบันทึกเป็นเซิร์ฟเวอร์ชื่อโดเมน (ชื่อโฮสต์สามารถนำมาใช้) (ตัวอย่างเช่น [ 'ns1.example.com', 'ns2.example.com']) |
11 | dns.resolveCname (ชื่อโฮสต์โทรกลับ) และ dns.resolve () จะคล้ายกันเพียงบันทึกการตรวจสอบการดำเนินการนามแฝง (CNAME Record) อยู่เป็นอาร์เรย์ของระเบียนนามแฝงชื่อโฮสต์พร้อมใช้งาน (เช่น ,, [ 'bar.example.com']) |
12 | dns.reverse (IP โทรกลับ) ที่อยู่ IP ฮึดกลับชื่อโดเมนชี้ไปยังที่อยู่ IP ของอาร์เรย์ |
13 | dns.getServers () ส่งกลับสตริงที่แสดงในปัจจุบันแก้ไขอยู่ IP สำหรับอาร์เรย์ |
14 | dns.setServers (เซิร์ฟเวอร์) มันระบุชุดของที่อยู่ IP เป็นเซิร์ฟเวอร์ที่มีรายละเอียดที่ |
rrtypes
ต่อไปนี้เป็นรายการ dns.resolve () วิธีการที่ถูกต้องค่า rrtypes:
-
'A'
IPv4 ที่อยู่ที่เริ่มต้น -
'AAAA'
อยู่ IPv6 -
'MX'
บันทึก mail แลกเปลี่ยน -
'TXT'
บันทึกข้อความ -
'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
: คำแนะนำที่ผิดกฎหมายระบุ -
dns.NOTINITIALIZED
: ห้องสมุด C C-อาเรสไม่ได้เตรียม -
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"]