dns.resolve()

Löst den angegebenen Hostnamen zu einem DNS-Eintrag auf.

Dies ist eine asynchrone Funktion, die ein Promise zurückgibt.

Syntax

js
let resolving = browser.dns.resolve(
  hostname,    // string
  flags        // array of string
)

Parameter

hostname

string. Der aufzulösende Hostname.

flags Optional

array von string. Flags, um die Art der Hostnamenauflösung zu ändern. Nicht angegebene Flags werden standardmäßig auf false 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 von string. 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" an resolve() übergeben wurde.

isTRR

boolean: true, wenn der Eintrag mit einem Trusted Recursive Resolver (TRR) abgerufen wurde.

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Firefox for Android
Safari on iOS
resolve

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
See implementation notes.

Beispiele

js
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:

js
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" ]