Spec-Zone.ru › Deno 2

Fetch

HTTP-клиент для получения данных по сети. Получайте ресурсы с серверов, обрабатывайте ответы и управляйте сетевыми запросами.

Например fetch, Response, Request, Headers


класс Deno.HttpClient

реализует Disposable

Пользовательский HttpClient для использования с функцией fetch. Он позволяет использовать с fetch() пользовательские сертификаты или прокси.

Примеры

const caCert = await Deno.readTextFile("./ca.pem");
const client = Deno.createHttpClient({ caCerts: [ caCert ] });
const req = await fetch("https://myserver.com", { client });

Методы

[Symbol.dispose](): void
close(): void

Закрывает HTTP-клиент.


функция Deno.createHttpClient

createHttpClient(options: CreateHttpClientOptions | (CreateHttpClientOptions & TlsCertifiedKeyPem)): HttpClient

Создаёт пользовательский HttpClient для использования с fetch. Это расширение Fetch API веб-платформы, позволяющее Deno использовать пользовательские сертификаты TLS CA и подключаться через прокси при использовании fetch().

Параметры cert и key позволяют указать сертификат и ключ клиента для подключения к серверу, требующему аутентификации клиента (взаимный TLS или mTLS). Параметры cert и key должны быть в формате PEM.

Примеры

const caCert = await Deno.readTextFile("./ca.pem");
const client = Deno.createHttpClient({ caCerts: [ caCert ] });
const response = await fetch("https://myserver.com", { client });
const client = Deno.createHttpClient({
  proxy: { url: "http://myproxy.com:8080" }
});
const response = await fetch("https://myserver.com", { client });
const key = "----BEGIN PRIVATE KEY----...";
const cert = "----BEGIN CERTIFICATE----...";
const client = Deno.createHttpClient({ key, cert });
const response = await fetch("https://myserver.com", { client });

Параметры

options: CreateHttpClientOptions | (CreateHttpClientOptions & TlsCertifiedKeyPem)

Возвращаемый тип

HttpClient

интерфейс Deno.BasicAuth

Учётные данные для базовой аутентификации на сервере Deno.Proxy при указании Deno.CreateHttpClientOptions.

Свойства

username: string

Имя пользователя для аутентификации на прокси-сервере.

password: string

Пароль для аутентификации на прокси-сервере.


интерфейс Deno.CreateHttpClientOptions

Параметры, используемые при создании Deno.HttpClient.

Свойства

caCerts: string[]
необязательное

Список корневых сертификатов, которые будут использоваться наряду с сертификатами по умолчанию для проверки сертификата узла.

Должен быть в формате PEM.

proxy: Proxy
необязательное

Альтернативный транспорт (прокси) для новых подключений.

poolMaxIdlePerHost: number
необязательное

Задаёт максимальное количество неактивных подключений к одному узлу, допустимое в пуле.

poolIdleTimeout: number | false
необязательное

Задаёт необязательный тайм-аут для поддерживаемых открытыми неактивных сокетов. Чтобы отключить тайм-аут, задайте значение false.

http1: boolean = true
необязательное

Разрешено ли использование HTTP/1.1.

http2: boolean = true
необязательное

Разрешено ли использование HTTP/2.

allowHost: boolean = false
необязательное

Разрешено ли задавать заголовок host.

localAddress: string
необязательное

Задаёт локальный адрес, с которого будет подключаться сокет.

http2MaxHeaderListSize: number
необязательное

Задаёт максимальный размер списка заголовков HTTP/2 (в байтах), который будет принимать клиент. Это соответствует настройке HTTP/2 SETTINGS_MAX_HEADER_LIST_SIZE.

Если значение не задано, используется значение по умолчанию из используемой библиотеки HTTP.


псевдоним типа Deno.Proxy

Определение альтернативных транспортов (или прокси) в Deno.CreateHttpClientOptions.

Поддерживаемые прокси:

  • HTTP/HTTPS-прокси: туннелирует HTTP-запросы посредством перенаправления, а HTTPS-запросы — через HTTP CONNECT на другой сервер.
  • SOCKS5-прокси: использует протокол SOCKS5 для туннелирования TCP-подключений через другой сервер.
  • TCP-сокет: отправляет все запросы в указанный TCP-сокет.
  • Сокет домена Unix: отправляет все запросы в локальный сокет домена Unix вместо TCP-сокета. Не поддерживается в Windows.
  • Сокет Vsock: отправляет все запросы в локальный сокет vsock. Поддерживается только в Linux и macOS.

Определение

{ transport?:
"http"
| "https"
| "socks5"
; url: string; basicAuth?: BasicAuth; }

| { transport: "tcp"; hostname: string; port: number; }
| { transport: "unix"; path: string; }
| { transport: "vsock"; cid: number; port: number; }

© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/deno/fetch

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API