説明
DNS 解決には chrome.dns
API を使用します。
権限
dns
対象
デベロッパー チャンネル
この API を使用するには、manifestで "dns"
権限を宣言する必要があります。
{
"name": "My extension",
...
"permissions": [
"dns"
],
...
}
用途
次のコードは resolve()
を呼び出して、example.com
の IP アドレスを取得します。
service-worker.js:
const resolveDNS = async () => {
let record = await chrome.dns.resolve('example.com');
console.log(record.address); // "192.0.2.172"
};
resolveDNS();
型
ResolveCallbackResolveInfo
プロパティ
-
住所
文字列(省略可)
IP アドレスのリテラルを表す文字列。resultCode が成功を示す場合にのみ指定します。
-
resultCode
数値
結果コード。0 は成功を示します。
メソッド
resolve()
Promise
chrome.dns.resolve(
hostname: string,
callback?: function,
)
指定されたホスト名または IP アドレスリテラルを解決します。
パラメータ
-
hostname
文字列
解決するホスト名。
-
callback
function 省略可
callback
パラメータは次のようになります。(resolveInfo: ResolveCallbackResolveInfo) => void
-
resolveInfo
-
戻り値
-
Promise<ResolveCallbackResolveInfo>
Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されるのと同じ型で解決されます。