Описание
Для разрешения DNS-запросов используйте API chrome.dns .
Разрешения
dnsДоступность
Манифест
Для использования этого API необходимо указать разрешение "dns" в манифесте .
{
"name": "My extension",
...
"permissions": [
"dns"
],
...
}
Использование
Следующий код вызывает resolve() для получения IP-адреса сайта example.com .
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
число
Код результата. Ноль означает успех.
Методы
resolve()
chrome.dns.resolve(
hostname: string,
callback?: function,
): Promise<ResolveCallbackResolveInfo>
Разрешает заданное имя хоста или IP-адрес.
Параметры
- имя хоста
нить
Имя хоста для разрешения.
- перезвонить
функция необязательна
Параметр
callbackвыглядит следующим образом:(resolveInfo: ResolveCallbackResolveInfo) => void
- resolveInfo
Возвраты
Promise< ResolveCallbackResolveInfo >
Обещание, которое разрешается после завершения операции разрешения.
Поддержка промисов доступна только для Manifest V3 и более поздних версий; для других платформ необходимо использовать колбэки.