Перейти к основному содержимому

APIRequest

Предоставляет API, который можно использовать для тестирования Web API. Этот класс используется для создания экземпляра APIRequestContext, который, в свою очередь, может быть использован для отправки веб-запросов. Экземпляр этого класса можно получить через playwright.request. Для получения дополнительной информации смотрите APIRequestContext.


Методы

newContext

Добавлено в: v1.16 apiRequest.newContext

Создает новые экземпляры APIRequestContext.

Использование

await apiRequest.newContext();
await apiRequest.newContext(options);

Аргументы

  • options Object (необязательно)
    • baseURL string (необязательно)#

      Методы, такие как apiRequestContext.get(), учитывают базовый URL, используя конструктор URL() для построения соответствующего URL. Примеры:

      • baseURL: http://localhost:3000 и отправка запроса на /bar.html приводит к http://localhost:3000/bar.html
      • baseURL: http://localhost:3000/foo/ и отправка запроса на ./bar.html приводит к http://localhost:3000/foo/bar.html
      • baseURL: http://localhost:3000/foo (без завершающего слэша) и навигация на ./bar.html приводит к http://localhost:3000/bar.html
    • clientCertificates Array<Object> (необязательно) Добавлено в: 1.46#

      • origin string

        Точный источник, для которого сертификат действителен. Источник включает протокол https, имя хоста и, при необходимости, порт.

      • certPath string (необязательно)

        Путь к файлу с сертификатом в формате PEM.

      • cert Buffer (необязательно)

        Прямое значение сертификата в формате PEM.

      • keyPath string (необязательно)

        Путь к файлу с закрытым ключом в формате PEM.

      • key Buffer (необязательно)

        Прямое значение закрытого ключа в формате PEM.

      • pfxPath string (необязательно)

        Путь к PFX или PKCS12 закодированному закрытому ключу и цепочке сертификатов.

      • pfx Buffer (необязательно)

        Прямое значение PFX или PKCS12 закодированного закрытого ключа и цепочки сертификатов.

      • passphrase string (необязательно)

        Пароль для закрытого ключа (PEM или PFX).

      TLS аутентификация клиента позволяет серверу запрашивать клиентский сертификат и проверять его.

      Подробности

      Массив клиентских сертификатов, которые будут использоваться. Каждый объект сертификата должен иметь либо оба certPath и keyPath, либо один pfxPath, либо их соответствующие прямые значения (cert и key, или pfx). Опционально, свойство passphrase должно быть предоставлено, если сертификат зашифрован. Свойство origin должно быть предоставлено с точным соответствием к исходному запросу, для которого сертификат действителен.

      Аутентификация по клиентскому сертификату активна только тогда, когда предоставлен как минимум один клиентский сертификат. Если вы хотите отклонить все клиентские сертификаты, отправляемые сервером, вам нужно предоставить клиентский сертификат с origin, который не совпадает ни с одним из доменов, которые вы планируете посетить.

      примечание

      При использовании WebKit на macOS доступ к localhost не будет использовать клиентские сертификаты. Вы можете заставить это работать, заменив localhost на local.playwright.

    • extraHTTPHeaders Object<string, string> (необязательно)#

      Объект, содержащий дополнительные HTTP заголовки, которые будут отправлены с каждым запросом. По умолчанию отсутствуют.

    • failOnStatusCode boolean (необязательно) Добавлено в: v1.51#

      Указывает, следует ли выбрасывать исключение при кодах ответа, отличных от 2xx и 3xx. По умолчанию объект ответа возвращается для всех кодов состояния.

    • httpCredentials Object (необязательно)#

      • username string

      • password string

      • origin string (необязательно)

        Ограничивает отправку http учетных данных на конкретный источник (scheme://host:port).

      • send "unauthorized" | "always" (необязательно)

        Эта опция применяется только к запросам, отправленным из соответствующего APIRequestContext, и не влияет на запросы, отправленные из браузера. 'always' - заголовок Authorization с учетными данными базовой аутентификации будет отправлен с каждым API запросом. 'unauthorized - учетные данные отправляются только при получении ответа 401 (Unauthorized) с заголовком WWW-Authenticate. По умолчанию 'unauthorized'.

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

    • ignoreHTTPSErrors boolean (необязательно)#

      Игнорировать ли ошибки HTTPS при отправке сетевых запросов. По умолчанию false.

    • maxRedirects number (необязательно) Добавлено в: v1.52#

      Максимальное количество редиректов запроса, которые будут автоматически пройдены. Если это число будет превышено, будет выброшена ошибка. По умолчанию 20. Передайте 0, чтобы не следовать редиректам. Это можно переопределить для каждого запроса отдельно.

    • proxy Object (необязательно)#

      • server string

        Прокси, который будет использоваться для всех запросов. Поддерживаются HTTP и SOCKS прокси, например http://myproxy.com:3128 или socks5://myproxy.com:3128. Короткая форма myproxy.com:3128 считается HTTP прокси.

      • bypass string (необязательно)

        Необязательные домены, разделенные запятыми, для обхода прокси, например ".com, chromium.org, .domain.com".

      • username string (необязательно)

        Необязательное имя пользователя для использования, если HTTP прокси требует аутентификации.

      • password string (необязательно)

        Необязательный пароль для использования, если HTTP прокси требует аутентификации.

      Настройки сетевого прокси.

    • storageState string | Object (необязательно)#

      Заполняет контекст заданным состоянием хранения. Эта опция может быть использована для инициализации контекста с информацией о входе, полученной через browserContext.storageState() или apiRequestContext.storageState(). Либо путь к файлу с сохраненным состоянием, либо значение, возвращаемое одним из методов browserContext.storageState() или apiRequestContext.storageState().

    • timeout number (необязательно)#

      Максимальное время в миллисекундах для ожидания ответа. По умолчанию 30000 (30 секунд). Передайте 0, чтобы отключить тайм-аут.

    • userAgent string (необязательно)#

      Специфический пользовательский агент для использования в этом контексте.

Возвращает