Latest web development tutorials

Node.js โมดูล DNS

Node.js โมดูล DNS

โมดูลเครื่องมือ Node.js โมดูลเครื่องมือ Node.js

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"]

โมดูลเครื่องมือ Node.js โมดูลเครื่องมือ Node.js