dns.resolve()
Löst den angegebenen Hostnamen zu einem DNS-Eintrag auf.
Dies ist eine asynchrone Funktion, die ein Promise
zurückgibt.
Syntax
let resolving = browser.dns.resolve(
hostname, // string
flags // array of string
)
Parameter
hostname
-
string
. Der aufzulösende Hostname. flags
Optional-
array
vonstring
. Flags, um die Art der Hostnamenauflösung zu ändern. Nicht angegebene Flags werden standardmäßig auffalse
gesetzt. Sie können null oder mehr der folgenden Flags übergeben:"allow_name_collisions"
: Erlaubt Namenkollisionsergebnisse, die normalerweise herausgefiltert werden."bypass_cache"
: Unterdrückt den internen DNS-Cache."canonical_name"
: Der kanonische Name des angegebenen Hosts wird abgefragt."disable_ipv4"
: Es werden nur IPv6-Adressen zurückgegeben."disable_ipv6"
: Es werden nur IPv4-Adressen zurückgegeben."disable_trr"
: Verwenden Sie keinen Trusted Recursive Resolver (TRR) zur Auflösung des Hostnamens. Ein TRR ermöglicht die Auflösung von Hostnamen über einen dedizierten DNS-over-HTTPS-Server."offline"
: Es werden nur Literale und Einträge aus dem Cache zurückgegeben."priority_low"
: Die Anfrage erhält eine niedrigere Priorität. Wenn "priority_medium" ebenfalls angegeben wird, erhält die Abfrage mittlere Priorität."priority_medium"
: Die Anfrage erhält mittlere Priorität. Wenn "priority_low" ebenfalls angegeben wird, erhält die Abfrage mittlere Priorität."speculate"
: Gibt an, dass die Anfrage spekulativ ist. Spekulative Anfragen führen zu Fehlern, wenn das Vorabrufen durch die Konfiguration des Browsers deaktiviert ist.
Rückgabewert
Ein Promise
, das mit einem DNSRecord
-Objekt erfüllt wird. Dieses Objekt kann die folgenden Eigenschaften enthalten:
addresses
-
array
vonstring
. Die mit diesem DNS-Eintrag verknüpften IP-Adressen. canonicalName
-
string
. Der kanonische Name für diesen Eintrag. Dies ist nur in der Antwort enthalten, wenn das Flag"canonical_name"
anresolve()
übergeben wurde. isTRR
-
boolean
:true
, wenn der Eintrag mit einem Trusted Recursive Resolver (TRR) abgerufen wurde.
Browser-Kompatibilität
BCD tables only load in the browser
Beispiele
function resolved(record) {
console.log(record.addresses);
}
let resolving = browser.dns.resolve("example.com");
resolving.then(resolved);
// > e.g. Array [ "192.0.2.172" ]
Umgehen Sie den Cache und fragen Sie nach dem kanonischen Namen:
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 [ "192.0.2.172", "198.51.100.45" ]