@ -167,37 +167,32 @@ dns.lookupService('127.0.0.1', 22, (err, hostname, service) => {
<!-- YAML
<!-- YAML
added: v0.1.27
added: v0.1.27
-->
-->
- `hostname` {string}
- `hostname` {string} Hostname to resolve.
- `rrtype` {string}
- `rrtype` {string} Resource record type. Default: `'A'` .
- `callback` {Function}
- `callback` {Function}
- `err` {Error}
- `err` {Error}
- `addresses` {string[] | Object[] | string[][] | Object}
- `records` {string[] | Object[] | string[][] | Object}
Uses the DNS protocol to resolve a hostname (e.g. `'nodejs.org'` ) into an
Uses the DNS protocol to resolve a hostname (e.g. `'nodejs.org'` ) into an array
array of the record types specified by `rrtype` .
of the resource records. The `callback` function has arguments
`(err, records)` . When successful, `records` will be an array of resource
Valid values for `rrtype` are:
records. The type and structure of individual results varies based on `rrtype` :
* `'A'` - IPV4 addresses, default
| `rrtype` | `records` contains | Result type | Shorthand method |
* `'AAAA'` - IPV6 addresses
|-----------|--------------------------------|-------------|--------------------------|
* `'MX'` - mail exchange records
| `'A'` | IPv4 addresses (default) | {string} | [`dns.resolve4()`][] |
* `'TXT'` - text records
| `'AAAA'` | IPv6 addresses | {string} | [`dns.resolve6()`][] |
* `'SRV'` - SRV records
| `'CNAME'` | canonical name records | {string} | [`dns.resolveCname()`][] |
* `'PTR'` - PTR records
| `'MX'` | mail exchange records | {Object} | [`dns.resolveMx()`][] |
* `'NS'` - name server records
| `'NAPTR'` | name authority pointer records | {Object} | [`dns.resolveNaptr()`][] |
* `'CNAME'` - canonical name records
| `'NS'` | name server records | {string} | [`dns.resolveNs()`][] |
* `'SOA'` - start of authority record
| `'PTR'` | pointer records | {string} | [`dns.resolvePtr()`][] |
* `'NAPTR'` - name authority pointer record
| `'SOA'` | start of authority records | {Object} | [`dns.resolveSoa()`][] |
| `'SRV'` | service records | {Object} | [`dns.resolveSrv()`][] |
The `callback` function has arguments `(err, addresses)` . When successful,
| `'TXT'` | text records | {string} | [`dns.resolveTxt()`][] |
`addresses` will be an array, except when resolving an SOA record which returns
an object structured in the same manner as one returned by the
On error, `err` is an [`Error`][] object, where `err.code` is one of the
[`dns.resolveSoa()`][] method. The type of each item in `addresses` is
[DNS error codes ](#dns_error_codes ).
determined by the record type, and described in the documentation for the
corresponding lookup methods.
On error, `err` is an [`Error`][] object, where `err.code` is
one of the error codes listed [here ](#dns_error_codes ).
## dns.resolve4(hostname[, options], callback)
## dns.resolve4(hostname[, options], callback)
<!-- YAML
<!-- YAML
@ -516,7 +511,16 @@ uses. For instance, _they do not use the configuration from `/etc/hosts`_.
[DNS error codes]: #dns_error_codes
[DNS error codes]: #dns_error_codes
[`dns.lookup()`]: #dns_dns_lookup_hostname_options_callback
[`dns.lookup()`]: #dns_dns_lookup_hostname_options_callback
[`dns.resolve4()`]: #dns_dns_resolve4_hostname_options_callback
[`dns.resolve6()`]: #dns_dns_resolve6_hostname_options_callback
[`dns.resolveCname()`]: #dns_dns_resolvecname_hostname_callback
[`dns.resolveMx()`]: #dns_dns_resolvemx_hostname_callback
[`dns.resolveNaptr()`]: #dns_dns_resolvenaptr_hostname_callback
[`dns.resolveNs()`]: #dns_dns_resolvens_hostname_callback
[`dns.resolvePtr()`]: #dns_dns_resolveptr_hostname_callback
[`dns.resolveSoa()`]: #dns_dns_resolvesoa_hostname_callback
[`dns.resolveSoa()`]: #dns_dns_resolvesoa_hostname_callback
[`dns.resolveSrv()`]: #dns_dns_resolvesrv_hostname_callback
[`dns.resolveTxt()`]: #dns_dns_resolvetxt_hostname_callback
[`Error`]: errors.html#errors_class_error
[`Error`]: errors.html#errors_class_error
[Implementation considerations section]: #dns_implementation_considerations
[Implementation considerations section]: #dns_implementation_considerations
[supported `getaddrinfo` flags]: #dns_supported_getaddrinfo_flags
[supported `getaddrinfo` flags]: #dns_supported_getaddrinfo_flags