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

APIRequest

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


Методы

new_context

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

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

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

api_request.new_context()
api_request.new_context(**kwargs)

Аргументы

  • base_url str (опционально)#

    Методы, такие как api_request_context.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
  • client_certificates List[Dict] (опционально) Добавлено в: 1.46#

    • origin str

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

    • certPath Union[str, pathlib.Path] (опционально)

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

    • cert bytes (опционально)

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

    • keyPath Union[str, pathlib.Path] (опционально)

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

    • key bytes (опционально)

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

    • pfxPath Union[str, pathlib.Path] (опционально)

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

    • pfx bytes (опционально)

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

    • passphrase str (опционально)

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

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

    Детали

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

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

    примечание

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

  • extra_http_headers Dict[str, str] (опционально)#

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

  • fail_on_status_code bool (опционально) Добавлено в: v1.51#

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

  • http_credentials Dict (опционально)#

    • username str

    • password str

    • origin str (опционально)

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

    • send "unauthorized" | "always" (опционально)

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

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

  • ignore_https_errors bool (опционально)#

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

  • max_redirects int (опционально) Добавлено в: v1.52#

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

  • proxy Dict (опционально)#

    • server str

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

    • bypass str (опционально)

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

    • username str (опционально)

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

    • password str (опционально)

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

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

  • storage_state Union[str, pathlib.Path] | Dict (опционально)#

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

  • timeout float (опционально)#

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

  • user_agent str (опционально)#

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

Возвращает