Node.js moduł DNS
Node.js moduł DNS
Node.js modułu DNS służy do rozpoznawania nazw domen.Wprowadzenie modułu składni DNS jest następujący:
var dns = require("dns")
sposób
Nie. | Sposób i opis |
---|---|
1 | dns.lookup (hostname [opcje], callback) Nazwa domeny (np 'w3big.com ") postanowił znaleźć pierwszy rekord A (IPv4) lub AAAA (IPv6). Opcje parametrów mogą być obiektem lub jest liczbą całkowitą. Jeśli nie ma opcji, IP v4 i v6 adres może być. Jeśli opcje są liczbami całkowitymi, musi wynosić 4 lub 6. |
2 | dns.lookupService (adres, port, callback) Użyj getnameinfo parsowania adresu przychodzącego i port dla nazwy domeny i usług. |
3 | dns.resolve (hostname [, rrtype], callback) Nazwa domeny (takie jak "w3big.com") rozwiązane do rrtype tablicy określony typ rekordu. |
4 | dns.resolve4 (nazwa hosta, callback) I dns.resolve () jest podobna, tylko zapytanie IPv4 (rekord). rozwiązuje adres IPv4 tablicy (na przykład ['74 .125.79.104 ", '74", '74 .125.79.105 .125.79.106 ']). |
5 | dns.resolve6 (nazwa hosta, callback) I dns.resolve4 () jest podobna, tylko zapytania IPv6 (zapytań AAAA) |
6 | dns.resolveMx (nazwa hosta, callback) I dns.resolve () jest podobna, tylko zapytanie wymiany poczty (rekord MX). |
7 | dns.resolveTxt (nazwa hosta, callback) I dns.resolve () jest podobna, tylko dla zapytań tekstowych (rekordów TXT). Tekst odnosi się do tablicy 2-d rekordów. (Na przykład, [[ 'v = ip4 spf1: 0.0.0.0' '~ wszystkich "]]). Każdy blok zawiera sub-array rekordu TXT. W zależności od sytuacji, może być połączone ze sobą, mogą być także stosowane oddzielnie. |
8 | dns.resolveSrv (nazwa hosta, callback) I dns.resolve () jest podobna, tylko obsługi zapytań rekord (rekordy SRV). adresy hosta jest dostępna tablica rekord SRV. Rekord SRV priorytet (priorytet), masy (wagi), port (port) oraz nazwisko (nazwa) (na przykład [{ 'priorytet' atrybuty: 10, "waga": 5, "port": 21223, 'name ':' service.example.com '}, ...)]. |
9 | dns.resolveSoa (nazwa hosta, callback) I dns.resolve () jest podobna, tylko rekord Urząd rekordów (rekord SOA). |
10 | dns.resolveNs (nazwa hosta, callback) I dns.resolve () jest podobna, pyta tylko rekordy serwera nazw domen (rekordy NS). rozwiązuje szereg zapisów jest serwerem nazwa domeny (nazwa hosta może być używany) (na przykład [ 'ns1.example.com', 'ns2.example.com']). |
11 | dns.resolveCname (nazwa hosta, callback) I dns.resolve () jest podobna, tylko zapisy kontrolę przeprowadzaną alias (rekord CNAME). Adresy jest tablicą zapisów aliasów hostname dostępnych (np ,, [ 'bar.example.com']). |
12 | dns.reverse (ip, callback) Odwróć adresy resolve IP, nazwa domeny wskazuje na adres IP tablicy. |
13 | dns.getServers () Zwraca ciąg reprezentujący aktualne rozpoznać adres IP dla tablicy. |
14 | dns.setServers (serwery) To określa zestaw adresów IP, co serwer rozdzielczości. |
rrtypes
Poniżej znajduje się lista dns.resolve metoda () wartości prawidłowe rrtypes:
-
'A'
adres IPv4, domyślnie -
'AAAA'
adres IPv6 -
'MX'
elektronicznej wymiany rekord -
'TXT'
zapisy tekstowe -
'SRV'
rekordy SRV -
'PTR'
do wstecznego IP -
'NS'
nazwa domeny serwera rekordy -
'CNAME'
rekordu Alias -
'SOA'
wartość początkowa rekordu autoryzacji
Kod błędu
Każde zapytanie DNS może zwrócić następujący kod błędu:
-
dns.NODATA
: Brak reakcji danych. -
dns.FORMERR
: Zapytanie z nieprawidłowo. -
dns.SERVFAIL
: General Failure. -
dns.NOTFOUND
: Domena nie została znaleziona. -
dns.NOTIMP
: Żądana operacja nie zostanie wykonana. -
dns.REFUSED
: odmówił zapytania. -
dns.BADQUERY
: Zapytanie źle sformułowany. -
dns.BADNAME
: nazwa domeny jest zniekształcone. -
dns.BADFAMILY
: protokół adres nie obsługuje. -
dns.BADRESP
: Odpowiedz zniekształcone. -
dns.CONNREFUSED
: Nie można połączyć się z serwerem DNS. -
dns.TIMEOUT
: Limit czasu połączenia z serwerem DNS. -
dns.EOF
: koniec pliku. -
dns.FILE
: Błąd odczytu pliku. -
dns.NOMEM
: przepełnienie pamięci. -
dns.DESTRUCTION
: kanał jest zniszczona. -
dns.BADSTR
: error ciąg formatu. -
dns.BADFLAGS
: Nielegalna identyfikator. -
dns.NONAME
: podany host nie jest liczbą. -
dns.BADHINTS
: identyfikator Nielegalne podpowiedzi. -
dns.NOTINITIALIZED
: biblioteka C C-Ares nie została zainicjowana. -
dns.LOADIPHLPAPI
: Error loading Iphlpapi.dll. -
dns.ADDRGETNETWORKPARAMS
: Nie można znaleźć funkcję GetNetworkParams. -
dns.CANCELLED
: Anuluj zapytanie DNS.
Przykłady
Tworzenie main.js pliku, kod jest w następujący sposób:
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)); }); });
Ten kod jest wykonywany, wyniki przedstawiają się następująco:
address: 192.30.252.130 reverse for 192.30.252.130: ["github.com"]