Resolves the given hostname to a DNS record.
This is an asynchronous function that returns a
Promise
.
var resolving = browser.dns.resolve(
hostname
,
// string
flags
// array of string
)
hostname
string
. The hostname to resolve.
flags
可选
array
of
string
. Flags to modify the way the hostname is resolved. Any omitted flags default to
false
. You can pass zero or more of the following flags:
"allow_name_collisions"
: Allow name collision results which are normally filtered out.
"bypass_cache"
: Suppresses the internal DNS lookup cache.
"canonical_name"
: The canonical name of the specified host will be queried.
"disable_ipv4"
: Only IPv6 addresses will be returned.
"disable_ipv6"
: Only IPv4 addresses will be returned.
"disable_trr"
: Do not use the Trusted Recursive Resolver (TRR) for resolving the host name. A TRR enables resolving of host names using a dedicated
DNS-over-HTTPS
服务器。
"offline"
: Only literals and cached entries will be returned.
"priority_low"
: The request is given lower priority. If "priority_medium" is also given, the query is given medium priority.
"priority_medium"
: The request is given medium priority. If "priority_low" is also given, the query is given medium priority.
"speculate"
: Indicates that the request is speculative. Speculative requests return errors if prefetching is disabled by the browser's configuration.
A
Promise
that will be fulfilled with a
DNSRecord
object. This object can contain the following properties:
addresses
array
of
string
. The IP addresses associated with this DNS record.
canonicalName
string
. The canonical name for this record. This is only included in the response if the
"canonical_name"
flag was passed to
resolve()
.
isTRR
boolean
:
true
if the record was retrieved using a Trusted Recursive Resolver (TRR).
BCD tables only load in the browser
function resolved(record) {
console.log(record.addresses);
}
let resolving = browser.dns.resolve("example.com");
resolving.then(resolved);
// > e.g. Array [ "73.284.240.12" ]
Bypass the cache, and ask for the canonical name:
function resolved(record) {
console.log(record.canonicalName);
console.log(record.addresses);
}
let resolving = browser.dns.resolve("developer.mozilla.org",
["bypass_cache", "canonical_name"]);
resolving.then(resolved);
// > e.g. xyz.us-west-2.elb.amazonaws.com
// > e.g. Array [ "78.18.187.134", "34.79.135.234" ]
最后修改: , 由 MDN 贡献者