老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

Node.js中如何使用DNS模塊-創新互聯

Node.js中如何使用DNS模塊,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

成都創新互聯公司專注于湘陰企業網站建設,成都響應式網站建設,電子商務商城網站建設。湘陰網站建設公司,為湘陰等地區提供建站服務。全流程專業公司,專業設計,全程項目跟蹤,成都創新互聯公司專業和態度為您提供的服務

1. DNS

在Node.js中,提供DNS模塊,以實現域名查找及域名解析的處理。

  • 在DNS模塊中,提供了三個主方法及一系列便捷方法。

  • resolve方法:用于將一個域名解析為一組DNS記錄。

  • reverse方法: 用于將IP地址轉換為一組域名。

  • lookup方法: 用于將一個域名轉換成IP地址。

  • DNS模塊中的其余便捷方法均為resolve方法的一種便捷形式。

2. 使用resolve方法將域名解析為DNS記錄

`DNS.resolve(domain, [rrtype], callback(err, address){...})`

domain參數為一個字符串,用于指定需要被解析的域名,可以包括子域名。
rrtypr參數為一個字符串,用于指定需要獲取的記錄類型,可指定的記錄類型如下。

  • A,該參數值為默認值,當記錄類型為A時,該記錄將一個IPv4地址映射為一個域名。

  • AAAA,當記錄類型為AAAA時,該記錄將一個IPv6地址映射為一個域名。

  • CNAME,當記錄類型為CNAME時,表示該記錄為一個域名的別名記錄,例如,一個www.example.com域名記錄也許為一個example.com域名記錄額別名記錄。

  • MX,MX記錄指向一個使用SMTP的域中的郵件服務器,例如,當你想person@domain.com郵件地址發送電子郵件時,domain.com域的MX記錄中保存了發送該郵件時的郵件服務器地址。

  • TXT,TXT記錄是為該域名附加的描述記錄。

  • SRV,SRV記錄用于為一個特定域中所有可用服務提供信息。

  • PTR,PTR記錄用于反向地址解析,該記錄將一個域名映射為一個IPv4地址。

  • NS,NS(Name Server)記錄是域名服務器記錄,用來指定該域名由哪個DNS服務器進行解析。

回調函數有兩個參數,err是域名解析失敗時觸發的錯誤對象,addresses參數為一個數組,其中存放了所有獲取到的DNS記錄。

3. 為resolve方法定制的各種便捷方法

  • DNS.resolve4(domain, callback),獲取IPv4地址

  • DNS.resolve6(domain, callback),獲取IPv6地址

  • DNS.resolveMx(domain, callback),獲取MX記錄,郵件交換服務器記錄

  • DNS.resolveTxt(domain, callback),獲取TXT記錄,域名附加的描述記錄

  • DNS.resolveSrv(domain, callback),獲取SRV記錄,服務記錄

  • DNS.resolveNs(domain, callback),獲取NS記錄,域名服務器記錄

  • DNS.resolveCname(domain, callback),獲取別名記錄

4. 使用lookup方法查詢IP地址

當使用resolve4方法或者resolve6方法時,由于callback參數值回調函數中的addresses參數值數組中存放著所有獲取到的IPv4地址或IPv6地址。因此DNS模塊中提供了一個獲取第一個被發現的IPv4地址或者IPv6地址的lookup方法

`DNS.lookup(domain, [family], callback(err, addresses, family){...})`

  • domain參數為一個字符串,用于指定需要解析的域名

  • family參數值為一個整數值,用于指定需要獲取的IP地址類型,可指定的參數值為4或6,默認參數值為null,表示既可以獲取IPv4,又可以獲取IPv6

  • 回調函數err參數值為獲取地址失敗時觸發的錯誤對象,當域名不存在或查詢失敗時該錯誤對象的code屬性值為ENOENT

  • addresses參數值為一個字符串,為獲取到的IP地址

  • family參數值為4時,表示為一個IPv4地址,為6時,表示為一個IPv6地址。

5. 使用reverse方法反向解析IP地址

在DNS模塊中,使用reverse方法將一個IP地址反向解析為一組與該IP地址綁定的域名

`DNS.reverse(ip, callback(err, domains){...})`

  • ip參數值為一個字符串,用于指定需要解析的IP地址

  • 回調函數的err為反向解析地址失敗后的錯誤對象

  • domains參數值為一個數組,存放了所有獲取到的域名

6. DNS模塊中的各種錯誤代碼

err參數值為執行各種解析或反向解析操作時觸發的錯誤對象,可根據該錯誤對象的code屬性值,即觸發的錯誤代號判斷出發了什么錯誤

  • ENODATA:DNS服務器返回一個沒有數據的查詢結果

  • EFORMERR:DNS服務器發現客戶端請求查詢時使用了格式錯誤的查詢參數

  • ESERVFAIL:DNS服務器執行查詢操作失敗

  • ENOTFOUND:未發現任何域名

  • ENOTIMP:DNS服務器不能進行客戶端所請求的查詢操作

  • EREFUSED:DNS服務器拒絕進行查詢操作

  • EBADQUERY:格式錯誤的DNS查詢

  • EBADNAME:域名格式錯誤

  • EBADFAMILY:不支持的IP地址類型

  • EBADRESP:DNS答復的格式錯誤

  • ECONNREFUSED:不能建立與DNS服務器之間的連接

  • ETIMEOUT:與DNS服務器之間建立連接超時

  • EEOF:已到達文件底部

  • EFILE:讀取文件失敗

  • ENOMEM:沒有足夠的內存空間

  • EDESTRUCTION:通道已經被銷毀

  • EBADSTR:字符串格式錯誤

  • EBADFLAGS:指定了錯誤的判斷標志

  • ENONAME:指定的主機名不是數值格式的

  • EBADHINTS:指定的提示標志無效

  • ENOTINITIALIZED:c-ares類庫初始化工作尚未完成

  • ELOADIPHLPAPI:加載iphlpapi.dll時觸發了一個錯誤

  • EADDREGETNETWORKPARAMS:未發現GetNetworkParams函數

  • ECANCELLED:DNS查詢操作被取消

7. DNS模塊的基本使用

const dns = require('dns');
let url = 'www.qq.com';

dns.resolve(url, 'A', (err, addresses) => {
  console.log(addresses);
  // IPv4地址 [ '103.7.30.123' ]
});

dns.resolve(url, 'AAAA', (err, addresses) => {
  console.log(addresses);
  // IPv6地址 [ '240e:e1:8100:28::2:16' ]
});
dns.resolveMx('qq.com', (err, addresses) => {
  console.log(addresses);
  // 郵件交換服務器記錄
  // [ { exchange: 'mx2.qq.com', priority: 20 },
  //  { exchange: 'mx1.qq.com', priority: 30 },
  //  { exchange: 'mx3.qq.com', priority: 10 } ]
  
});

dns.resolveTxt('qq.com', (err, addresses) => {
  console.log(addresses);
  // 域名附加的描述記錄
  // [ [ 'v=spf1 include:spf.mail.qq.com -all' ] ]
});

dns.resolveSrv('www.baidu.com', (err, addresses) => {
  console.log(addresses);
  // 服務記錄
  // []
});

dns.resolveNs('www.github.com', (err, addresses) => {
  console.log(addresses);
  // 域名服務器記錄
  // [ 'ns-421.awsdns-52.com',
  // 'ns-520.awsdns-01.net',
  // 'ns1.p16.dynect.net',
  // 'ns2.p16.dynect.net',
  // 'ns3.p16.dynect.net',
  // 'ns4.p16.dynect.net',
  // 'ns-1283.awsdns-32.org',
  // 'ns-1707.awsdns-21.co.uk' ]
});

dns.resolveCname('www.163.com', (err, addresses) => {
  console.log(addresses);
  // 獲取別名記錄
  // [ 'www.163.com.lxdns.com' ]
});


dns.lookup('google.com', 4, (err, address, family) => {
  // 查詢IP地址
  // address,查詢到的地址
  // family,IPv4或IPv6
  console.log(address);// 172.217.27.142
  console.log(family);// 4
});

dns.lookup('google.com', 6, (err, address, family) => {
  console.log(address);// 2404:6800:4008:803::200e
  console.log(family);// 6
});

dns.reverse('203.188.200.67', (err, domain) => {
  // 反向解析IP地址
  console.log(domain);
  // [ 'media-router-fp1.prod.media.vip.tp2.yahoo.com' ]
});

關于Node.js中如何使用DNS模塊問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注創新互聯成都網站設計公司行業資訊頻道了解更多相關知識。

另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


本文題目:Node.js中如何使用DNS模塊-創新互聯
轉載源于:http://www.xueling.net.cn/article/jshgs.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 国产区精品 | A级大胆欧美人体大胆666 | 最近中文字幕高清中文字幕第一 | 黄色一级片在线观看 | 5060网免费午夜8050 | 免费观看的无遮挡AV | 亚洲精品3区| 永久91嫩草亚洲精品人人 | 亚洲精品成人久久一区二区 | 11nvnv女女网导航永久 | 真人一级毛片免费 | 天天爱天天操 | 污黄啪啪网| 56精品视频在线播放免费观看 | 美女视频性感网站黄色 | 亚洲午夜免费福利视频 | 黄黄的网站在线观看 | 思思久久96热在精品国产 | 午夜亚洲国产理论片无码片 | 伊人大蕉久在线播放 | 亚洲第一色网 | 国产成人拍精品视频午夜网站 | 超碰个人在线 | 国产一级做a爱免费视频 | 性开放欧美瑜伽TV | 成人免费色 | 久久艹精品 | 国产精品福利视频萌白酱 | 久热精品在线观看视频 | 成年免费大片黄在线观看一级 | 亚洲精品中 | 国产成人小视频在线 | japan白嫩丰满人妻videoshd | 精品一个色 | 亚洲国产精品激情综合图片 | 成人区人妻精品一区二区不卡 | 日本三级日本三级日本三级极 | 最新国产精品亚洲 | av成人一区二区 | 日本无人区码suv | 97热在线精品视频在线观看 |