Latest web development tutorials

DNSモジュールのNode.js

DNSモジュールのNode.js

Node.jsの工具モジュール Node.jsの工具モジュール

DNSモジュールNode.jsのドメイン名を解決するために使用されます。 次のようにDNSモジュール構文の導入は、次のとおりです。

var dns = require("dns")

ウェイ

いいえ。 メソッドと説明
1 dns.lookup(ホスト名[、オプション]、コールバック)
ドメイン名(例えば「w3big.com ')最初のレコードA(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次元配列に対応しています。 (たとえば、[[ 'V = spf1レコードのIP4:0.0.0.0'、 '〜すべての']])。 各サブアレイブロックは、TXTレコードが含まれています。 一緒に連結することができる状況に応じて、それらは、別々に使用することができます。
8 dns.resolveSrv(ホスト名、コールバック)
そしてdns.resolve()は似ている、唯一のサービスを提供するレコードクエリ(SRVレコード)。 アドレスのホスト名が使用可能なSRVレコードの配列です。 「体重」、10:5、「ポート」:SRVレコードは優先度(優先度)、重量(体重)、ポート(ポート)、名前(名)(例えば、[{ '優先'を属性21223、 "名前':' service.example.com '}、...])。
9 dns.resolveSoa(ホスト名、コールバック)
そして、dns.resolve()は似ている、唯一のクエリオーソリティレコード(SOAレコード)。
10 dns.resolveNs(ホスト名、コールバック)
そしてdns.resolve()は似ている、唯一のドメインネームサーバレコード(NSレコード)が照会します。 レコードの配列は、ドメイン・ネーム・サーバー(ホスト名を使用することができる)(例えば、[ 'ns1.example.com'、 'ns2.example.com'])で対処します。
11 dns.resolveCname(ホスト名、コールバック)
そしてdns.resolve()は似ている、唯一のレコードが行わエイリアス(CNAMEレコード)を確認します。 アドレスが利用可能なレコードのホスト名のエイリアスの配列である(例えば,, [ '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'のメール交換レコード
  • '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の工具モジュール