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

APIRequestContext

Этот API используется для тестирования веб-API. Вы можете использовать его для вызова конечных точек API, настройки микросервисов, подготовки окружения или сервиса для вашего e2e теста.

Каждый контекст браузера Playwright имеет связанный с ним экземпляр APIRequestContext, который разделяет хранилище cookie с контекстом браузера и может быть доступен через BrowserContext.APIRequest или Page.APIRequest. Также возможно создать новый экземпляр APIRequestContext вручную, вызвав ApiRequest.NewContextAsync().

Управление cookie

APIRequestContext, возвращаемый BrowserContext.APIRequest и Page.APIRequest, разделяет хранилище cookie с соответствующим BrowserContext. Каждый API-запрос будет иметь заголовок Cookie, заполненный значениями из контекста браузера. Если ответ API содержит заголовок Set-Cookie, он автоматически обновит cookie BrowserContext, и запросы, сделанные со страницы, их подхватят. Это означает, что если вы войдете в систему с помощью этого API, ваш e2e тест будет авторизован, и наоборот.

Если вы хотите, чтобы API-запросы не вмешивались в cookie браузера, вы должны создать новый APIRequestContext, вызвав ApiRequest.NewContextAsync(). Такой объект APIRequestContext будет иметь собственное изолированное хранилище cookie.


Методы

CreateFormData

Добавлено в: v1.23 apiRequestContext.CreateFormData

Создает новый экземпляр FormData, который используется для предоставления данных формы и multipart данных при выполнении HTTP-запросов.

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

ApiRequestContext.CreateFormData

Возвращает


DeleteAsync

Добавлено в: v1.16 apiRequestContext.DeleteAsync

Отправляет HTTP(S) запрос DELETE и возвращает его ответ. Метод заполнит cookies запроса из контекста и обновит cookies контекста из ответа. Метод автоматически следует за перенаправлениями.

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

await ApiRequestContext.DeleteAsync(url, options);

Аргументы

  • url string#

    Целевой URL.

  • options ApiRequestContextDeleteOptions? (опционально)

    • Data|DataByte|DataObject string? | byte[]? | [object]? (опционально) Добавлено в: v1.17#

      Позволяет установить данные запроса. Если параметр данных является объектом, он будет сериализован в строку json, и заголовок content-type будет установлен в application/json, если не установлен явно. В противном случае заголовок content-type будет установлен в application/octet-stream, если не установлен явно.

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

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

    • Form FormData? (опционально) Добавлено в: v1.17#

      Предоставляет объект, который будет сериализован как html-форма с использованием кодировки application/x-www-form-urlencoded и отправлен как тело этого запроса. Если этот параметр указан, заголовок content-type будет установлен в application/x-www-form-urlencoded, если не указан явно.

      Экземпляр FormData можно создать через ApiRequestContext.CreateFormData.

    • Headers IDictionary?<string, string> (опционально)#

      Позволяет установить HTTP-заголовки. Эти заголовки будут применяться к запрашиваемому запросу, а также к любым перенаправлениям, инициированным им.

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

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

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

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

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

      Максимальное количество раз, когда сетевые ошибки должны быть повторены. В настоящее время повторяется только ошибка ECONNRESET. Не повторяет на основе кодов ответа HTTP. Ошибка будет выброшена, если лимит превышен. По умолчанию 0 - без повторов.

    • Multipart FormData? (опционально) Добавлено в: v1.17#

      Предоставляет объект, который будет сериализован как html-форма с использованием кодировки multipart/form-data и отправлен как тело этого запроса. Если этот параметр указан, заголовок content-type будет установлен в multipart/form-data, если не указан явно. Значения файлов могут быть переданы как объект, похожий на файл, содержащий имя файла, mime-тип и его содержимое.

      Экземпляр FormData можно создать через ApiRequestContext.CreateFormData.

    • Params IDictionary?<string, [object]> (опционально)#

      Параметры запроса, которые будут отправлены с URL.

    • ParamsString string? (опционально) Добавлено в: v1.47#

      Параметры запроса, которые будут отправлены с URL.

    • Timeout [float]? (опционально)#

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

Возвращает


DisposeAsync

Добавлено в: v1.16 apiRequestContext.DisposeAsync

Все ответы, возвращаемые ApiRequestContext.GetAsync() и аналогичными методами, хранятся в памяти, чтобы вы могли позже вызвать ApiResponse.BodyAsync(). Этот метод освобождает все свои ресурсы, вызов любого метода на освобожденном APIRequestContext вызовет исключение.

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

await ApiRequestContext.DisposeAsync(options);

Аргументы

  • options ApiRequestContextDisposeOptions? (опционально)
    • Reason string? (опционально) Добавлено в: v1.45#

      Причина, которая будет сообщена операциям, прерванным из-за освобождения контекста.

Возвращает


FetchAsync

Добавлено в: v1.16 apiRequestContext.FetchAsync

Отправляет HTTP(S) запрос и возвращает его ответ. Метод заполнит cookies запроса из контекста и обновит cookies контекста из ответа. Метод автоматически следует за перенаправлениями.

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

JSON-объекты могут быть переданы напрямую в запрос:

var data = new Dictionary<string, object>() {
{ "title", "Book Title" },
{ "body", "John Doe" }
};
await Request.FetchAsync("https://example.com/api/createBook", new() { Method = "post", DataObject = data });

Обычный способ отправки файла(ов) в теле запроса - загрузить их как поля формы с кодировкой multipart/form-data, указав параметр multipart:

var file = new FilePayload()
{
Name = "f.js",
MimeType = "text/javascript",
Buffer = System.Text.Encoding.UTF8.GetBytes("console.log(2022);")
};
var multipart = Context.APIRequest.CreateFormData();
multipart.Set("fileField", file);
await Request.FetchAsync("https://example.com/api/uploadScript", new() { Method = "post", Multipart = multipart });

Аргументы

  • urlOrRequest string | Request#

    Целевой URL или запрос, из которого будут получены все параметры.

  • options ApiRequestContextFetchOptions? (опционально)

    • Data|DataByte|DataObject string? | byte[]? | [object]? (опционально)#

      Позволяет установить данные запроса. Если параметр данных является объектом, он будет сериализован в строку json, и заголовок content-type будет установлен в application/json, если не установлен явно. В противном случае заголовок content-type будет установлен в application/octet-stream, если не установлен явно.

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

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

    • Form FormData? (опционально)#

      Предоставляет объект, который будет сериализован как html-форма с использованием кодировки application/x-www-form-urlencoded и отправлен как тело этого запроса. Если этот параметр указан, заголовок content-type будет установлен в application/x-www-form-urlencoded, если не указан явно.

      Экземпляр FormData можно создать через ApiRequestContext.CreateFormData.

    • Headers IDictionary?<string, string> (опционально)#

      Позволяет установить HTTP-заголовки. Эти заголовки будут применяться к запрашиваемому запросу, а также к любым перенаправлениям, инициированным им.

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

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

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

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

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

      Максимальное количество раз, когда сетевые ошибки должны быть повторены. В настоящее время повторяется только ошибка ECONNRESET. Не повторяет на основе кодов ответа HTTP. Ошибка будет выброшена, если лимит превышен. По умолчанию 0 - без повторов.

    • Method string? (опционально)#

      Если установлено, изменяет метод запроса (например, PUT или POST). Если не указано, используется метод GET.

    • Multipart FormData? (опционально)#

      Предоставляет объект, который будет сериализован как html-форма с использованием кодировки multipart/form-data и отправлен как тело этого запроса. Если этот параметр указан, заголовок content-type будет установлен в multipart/form-data, если не указан явно. Значения файлов могут быть переданы как объект, похожий на файл, содержащий имя файла, mime-тип и его содержимое.

      Экземпляр FormData можно создать через ApiRequestContext.CreateFormData.

    • Params IDictionary?<string, [object]> (опционально)#

      Параметры запроса, которые будут отправлены с URL.

    • ParamsString string? (опционально) Добавлено в: v1.47#

      Параметры запроса, которые будут отправлены с URL.

    • Timeout [float]? (опционально)#

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

Возвращает


GetAsync

Добавлено в: v1.16 apiRequestContext.GetAsync

Отправляет HTTP(S) запрос GET и возвращает его ответ. Метод заполнит cookies запроса из контекста и обновит cookies контекста из ответа. Метод автоматически следует за перенаправлениями.

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

Параметры запроса могут быть настроены с помощью опции params, они будут сериализованы в параметры поиска URL:

var queryParams = new Dictionary<string, object>()
{
{ "isbn", "1234" },
{ "page", 23 },
};
await request.GetAsync("https://example.com/api/getText", new() { Params = queryParams });

Аргументы

  • url string#

    Целевой URL.

  • options ApiRequestContextGetOptions? (опционально)

    • Data|DataByte|DataObject string? | byte[]? | [object]? (опционально) Добавлено в: v1.26#

      Позволяет установить данные запроса. Если параметр данных является объектом, он будет сериализован в строку json, и заголовок content-type будет установлен в application/json, если не установлен явно. В противном случае заголовок content-type будет установлен в application/octet-stream, если не установлен явно.

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

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

    • Form FormData? (опционально) Добавлено в: v1.26#

      Предоставляет объект, который будет сериализован как html-форма с использованием кодировки application/x-www-form-urlencoded и отправлен как тело этого запроса. Если этот параметр указан, заголовок content-type будет установлен в application/x-www-form-urlencoded, если не указан явно.

      Экземпляр FormData можно создать через ApiRequestContext.CreateFormData.

    • Headers IDictionary?<string, string> (опционально)#

      Позволяет установить HTTP-заголовки. Эти заголовки будут применяться к запрашиваемому запросу, а также к любым перенаправлениям, инициированным им.

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

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

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

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

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

      Максимальное количество раз, когда сетевые ошибки должны быть повторены. В настоящее время повторяется только ошибка ECONNRESET. Не повторяет на основе кодов ответа HTTP. Ошибка будет выброшена, если лимит превышен. По умолчанию 0 - без повторов.

    • Multipart FormData? (опционально) Добавлено в: v1.26#

      Предоставляет объект, который будет сериализован как html-форма с использованием кодировки multipart/form-data и отправлен как тело этого запроса. Если этот параметр указан, заголовок content-type будет установлен в multipart/form-data, если не указан явно. Значения файлов могут быть переданы как объект, похожий на файл, содержащий имя файла, mime-тип и его содержимое.

      Экземпляр FormData можно создать через ApiRequestContext.CreateFormData.

    • Params IDictionary?<string, [object]> (опционально)#

      Параметры запроса, которые будут отправлены с URL.

    • ParamsString string? (опционально) Добавлено в: v1.47#

      Параметры запроса, которые будут отправлены с URL.

    • Timeout [float]? (опционально)#

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

Возвращает


HeadAsync

Добавлено в: v1.16 apiRequestContext.HeadAsync

Отправляет HTTP(S) запрос HEAD и возвращает его ответ. Метод заполнит cookies запроса из контекста и обновит cookies контекста из ответа. Метод автоматически следует за перенаправлениями.

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

await ApiRequestContext.HeadAsync(url, options);

Аргументы

  • url string#

    Целевой URL.

  • options ApiRequestContextHeadOptions? (опционально)

    • Data|DataByte|DataObject string? | byte[]? | [object]? (опционально) Добавлено в: v1.26#

      Позволяет установить данные запроса. Если параметр данных является объектом, он будет сериализован в строку json, и заголовок content-type будет установлен в application/json, если не установлен явно. В противном случае заголовок content-type будет установлен в application/octet-stream, если не установлен явно.

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

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

    • Form FormData? (опционально) Добавлено в: v1.26#

      Предоставляет объект, который будет сериализован как html-форма с использованием кодировки application/x-www-form-urlencoded и отправлен как тело этого запроса. Если этот параметр указан, заголовок content-type будет установлен в application/x-www-form-urlencoded, если не указан явно.

      Экземпляр FormData можно создать через ApiRequestContext.CreateFormData.

    • Headers IDictionary?<string, string> (опционально)#

      Позволяет установить HTTP-заголовки. Эти заголовки будут применяться к запрашиваемому запросу, а также к любым перенаправлениям, инициированным им.

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

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

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

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

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

      Максимальное количество раз, когда сетевые ошибки должны быть повторены. В настоящее время повторяется только ошибка ECONNRESET. Не повторяет на основе кодов ответа HTTP. Ошибка будет выброшена, если лимит превышен. По умолчанию 0 - без повторов.

    • Multipart FormData? (опционально) Добавлено в: v1.26#

      Предоставляет объект, который будет сериализован как html-форма с использованием кодировки multipart/form-data и отправлен как тело этого запроса. Если этот параметр указан, заголовок content-type будет установлен в multipart/form-data, если не указан явно. Значения файлов могут быть переданы как объект, похожий на файл, содержащий имя файла, mime-тип и его содержимое.

      Экземпляр FormData можно создать через ApiRequestContext.CreateFormData.

    • Params IDictionary?<string, [object]> (опционально)#

      Параметры запроса, которые будут отправлены с URL.

    • ParamsString string? (опционально) Добавлено в: v1.47#

      Параметры запроса, которые будут отправлены с URL.

    • Timeout [float]? (опционально)#

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

Возвращает


PatchAsync

Добавлено в: v1.16 apiRequestContext.PatchAsync

Отправляет HTTP(S) запрос PATCH и возвращает его ответ. Метод заполнит cookies запроса из контекста и обновит cookies контекста из ответа. Метод автоматически следует за перенаправлениями.

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

await ApiRequestContext.PatchAsync(url, options);

Аргументы

  • url string#

    Целевой URL.

  • options ApiRequestContextPatchOptions? (опционально)

    • Data|DataByte|DataObject string? | byte[]? | [object]? (опционально)#

      Позволяет установить данные запроса. Если параметр данных является объектом, он будет сериализован в строку json, и заголовок content-type будет установлен в application/json, если не установлен явно. В противном случае заголовок content-type будет установлен в application/octet-stream, если не установлен явно.

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

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

    • Form FormData? (опционально)#

      Предоставляет объект, который будет сериализован как html-форма с использованием кодировки application/x-www-form-urlencoded и отправлен как тело этого запроса. Если этот параметр указан, заголовок content-type будет установлен в application/x-www-form-urlencoded, если не указан явно.

      Экземпляр FormData можно создать через ApiRequestContext.CreateFormData.

    • Headers IDictionary?<string, string> (опционально)#

      Позволяет установить HTTP-заголовки. Эти заголовки будут применяться к запрашиваемому запросу, а также к любым перенаправлениям, инициированным им.

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

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

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

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

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

      Максимальное количество раз, когда сетевые ошибки должны быть повторены. В настоящее время повторяется только ошибка ECONNRESET. Не повторяет на основе кодов ответа HTTP. Ошибка будет выброшена, если лимит превышен. По умолчанию 0 - без повторов.

    • Multipart FormData? (опционально)#

      Предоставляет объект, который будет сериализован как html-форма с использованием кодировки multipart/form-data и отправлен как тело этого запроса. Если этот параметр указан, заголовок content-type будет установлен в multipart/form-data, если не указан явно. Значения файлов могут быть переданы как объект, похожий на файл, содержащий имя файла, mime-тип и его содержимое.

      Экземпляр FormData можно создать через ApiRequestContext.CreateFormData.

    • Params IDictionary?<string, [object]> (опционально)#

      Параметры запроса, которые будут отправлены с URL.

    • ParamsString string? (опционально) Добавлено в: v1.47#

      Параметры запроса, которые будут отправлены с URL.

    • Timeout [float]? (опционально)#

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

Возвращает


PostAsync

Добавлено в: v1.16 apiRequestContext.PostAsync

Отправляет HTTP(S) запрос POST и возвращает его ответ. Метод заполнит cookies запроса из контекста и обновит cookies контекста из ответа. Метод автоматически следует за перенаправлениями.

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

JSON-объекты могут быть переданы напрямую в запрос:

var data = new Dictionary<string, object>() {
{ "firstName", "John" },
{ "lastName", "Doe" }
};
await request.PostAsync("https://example.com/api/createBook", new() { DataObject = data });

Чтобы отправить данные формы на сервер, используйте опцию form. Ее значение будет закодировано в теле запроса с использованием кодировки application/x-www-form-urlencoded (см. ниже, как использовать кодировку формы multipart/form-data для отправки файлов):

var formData = Context.APIRequest.CreateFormData();
formData.Set("title", "Book Title");
formData.Set("body", "John Doe");
await request.PostAsync("https://example.com/api/findBook", new() { Form = formData });

Обычный способ отправки файла(ов) в теле запроса - загрузить их как поля формы с кодировкой multipart/form-data. Используйте FormData для создания тела запроса и передайте его в запрос как параметр multipart:

var file = new FilePayload()
{
Name = "f.js",
MimeType = "text/javascript",
Buffer = System.Text.Encoding.UTF8.GetBytes("console.log(2022);")
};
var multipart = Context.APIRequest.CreateFormData();
multipart.Set("fileField", file);
await request.PostAsync("https://example.com/api/uploadScript", new() { Multipart = multipart });

Аргументы

  • url string#

    Целевой URL.

  • options ApiRequestContextPostOptions? (опционально)

    • Data|DataByte|DataObject string? | byte[]? | [object]? (опционально)#

      Позволяет установить данные запроса. Если параметр данных является объектом, он будет сериализован в строку json, и заголовок content-type будет установлен в application/json, если не установлен явно. В противном случае заголовок content-type будет установлен в application/octet-stream, если не установлен явно.

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

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

    • Form FormData? (опционально)#

      Предоставляет объект, который будет сериализован как html-форма с использованием кодировки application/x-www-form-urlencoded и отправлен как тело этого запроса. Если этот параметр указан, заголовок content-type будет установлен в application/x-www-form-urlencoded, если не указан явно.

      Экземпляр FormData можно создать через ApiRequestContext.CreateFormData.

    • Headers IDictionary?<string, string> (опционально)#

      Позволяет установить HTTP-заголовки. Эти заголовки будут применяться к запрашиваемому запросу, а также к любым перенаправлениям, инициированным им.

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

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

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

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

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

      Максимальное количество раз, когда сетевые ошибки должны быть повторены. В настоящее время повторяется только ошибка ECONNRESET. Не повторяет на основе кодов ответа HTTP. Ошибка будет выброшена, если лимит превышен. По умолчанию 0 - без повторов.

    • Multipart FormData? (опционально)#

      Предоставляет объект, который будет сериализован как html-форма с использованием кодировки multipart/form-data и отправлен как тело этого запроса. Если этот параметр указан, заголовок content-type будет установлен в multipart/form-data, если не указан явно. Значения файлов могут быть переданы как объект, похожий на файл, содержащий имя файла, mime-тип и его содержимое.

      Экземпляр FormData можно создать через ApiRequestContext.CreateFormData.

    • Params IDictionary?<string, [object]> (опционально)#

      Параметры запроса, которые будут отправлены с URL.

    • ParamsString string? (опционально) Добавлено в: v1.47#

      Параметры запроса, которые будут отправлены с URL.

    • Timeout [float]? (опционально)#

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

Возвращает


PutAsync

Добавлено в: v1.16 apiRequestContext.PutAsync

Отправляет HTTP(S) запрос PUT и возвращает его ответ. Метод заполнит cookies запроса из контекста и обновит cookies контекста из ответа. Метод автоматически следует за перенаправлениями.

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

await ApiRequestContext.PutAsync(url, options);

Аргументы

  • url string#

    Целевой URL.

  • options ApiRequestContextPutOptions? (опционально)

    • Data|DataByte|DataObject string? | byte[]? | [object]? (опционально)#

      Позволяет установить данные запроса. Если параметр данных является объектом, он будет сериализован в строку json, и заголовок content-type будет установлен в application/json, если не установлен явно. В противном случае заголовок content-type будет установлен в application/octet-stream, если не установлен явно.

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

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

    • Form FormData? (опционально)#

      Предоставляет объект, который будет сериализован как html-форма с использованием кодировки application/x-www-form-urlencoded и отправлен как тело этого запроса. Если этот параметр указан, заголовок content-type будет установлен в application/x-www-form-urlencoded, если не указан явно.

      Экземпляр FormData можно создать через ApiRequestContext.CreateFormData.

    • Headers IDictionary?<string, string> (опционально)#

      Позволяет установить HTTP-заголовки. Эти заголовки будут применяться к запрашиваемому запросу, а также к любым перенаправлениям, инициированным им.

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

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

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

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

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

      Максимальное количество раз, когда сетевые ошибки должны быть повторены. В настоящее время повторяется только ошибка ECONNRESET. Не повторяет на основе кодов ответа HTTP. Ошибка будет выброшена, если лимит превышен. По умолчанию 0 - без повторов.

    • Multipart FormData? (опционально)#

      Предоставляет объект, который будет сериализован как html-форма с использованием кодировки multipart/form-data и отправлен как тело этого запроса. Если этот параметр указан, заголовок content-type будет установлен в multipart/form-data, если не указан явно. Значения файлов могут быть переданы как объект, похожий на файл, содержащий имя файла, mime-тип и его содержимое.

      Экземпляр FormData можно создать через ApiRequestContext.CreateFormData.

    • Params IDictionary?<string, [object]> (опционально)#

      Параметры запроса, которые будут отправлены с URL.

    • ParamsString string? (опционально) Добавлено в: v1.47#

      Параметры запроса, которые будут отправлены с URL.

    • Timeout [float]? (опционально)#

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

Возвращает


StorageStateAsync

Добавлено в: v1.16 apiRequestContext.StorageStateAsync

Возвращает состояние хранилища для этого контекста запроса, содержит текущие cookies и снимок локального хранилища, если он был передан в конструктор.

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

await ApiRequestContext.StorageStateAsync(options);

Аргументы

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

      Установите в true, чтобы включить IndexedDB в снимок состояния хранилища.

    • Path string? (опционально)#

      Путь к файлу для сохранения состояния хранилища. Если Path является относительным путем, то он разрешается относительно текущей рабочей директории. Если путь не указан, состояние хранилища все равно возвращается, но не будет сохранено на диск.

Возвращает