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

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 должно быть предоставлено с точным соответствием к исходному запросу, для которого сертификат действителен.

      примечание

      При использовании 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.

    • 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 (необязательно)#

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

Возвращает