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Создает новый экземпляр FormData, который используется для предоставления данных формы и multipart данных при выполнении HTTP-запросов.
Использование
ApiRequestContext.CreateFormData
Возвращает
DeleteAsync
Добавлено в: v1.16Отправляет HTTP(S) запрос DELETE и возвращает его ответ. Метод заполнит cookies запроса из контекста и обновит cookies контекста из ответа. Метод автоматически следует за перенаправлениями.
Использование
await ApiRequestContext.DeleteAsync(url, options);
Аргументы
-
Целевой 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.GetAsync() и аналогичными методами, хранятся в памяти, чтобы вы могли позже вызвать ApiResponse.BodyAsync(). Этот метод освобождает все свои ресурсы, вызов любого метода на освобожденном APIRequestContext вызовет исключение.
Использование
await ApiRequestContext.DisposeAsync(options);
Аргументы
options
ApiRequestContextDisposeOptions?
(опционально)
Возвращает
FetchAsync
Добавлено в: v1.16Отправляет 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. По умолчанию объект ответа возвращается для всех кодов состояния.
-
Предоставляет объект, который будет сериализован как 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
- без повторов. -
Если установлено, изменяет метод запроса (например, 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Отправляет 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.
-
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Отправляет HTTP(S) запрос HEAD и возвращает его ответ. Метод заполнит cookies запроса из контекста и обновит cookies контекста из ответа. Метод автоматически следует за перенаправлениями.
Использование
await ApiRequestContext.HeadAsync(url, options);
Аргументы
-
Целевой 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Отправляет HTTP(S) запрос PATCH и возвращает его ответ. Метод заполнит cookies запроса из контекста и обновит cookies контекста из ответа. Метод автоматически следует за перенаправлениями.
Использование
await ApiRequestContext.PatchAsync(url, options);
Аргументы
-
Целевой URL.
-
options
ApiRequestContextPatchOptions?
(опционально)-
Data|DataByte|DataObject
string? | byte[]? | [object]? (опционально)#Позволяет установить данные запроса. Если параметр данных является объектом, он будет сериализован в строку json, и заголовок
content-type
будет установлен вapplication/json
, если не установлен явно. В противном случае заголовокcontent-type
будет установлен вapplication/octet-stream
, если не установлен явно. -
FailOnStatusCode
bool? (опционально)#Следует ли выбрасывать исключение при кодах ответа, отличных от 2xx и 3xx. По умолчанию объект ответа возвращается для всех кодов состояния.
-
Предоставляет объект, который будет сериализован как 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Отправляет 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.
-
options
ApiRequestContextPostOptions?
(опционально)-
Data|DataByte|DataObject
string? | byte[]? | [object]? (опционально)#Позволяет установить данные запроса. Если параметр данных является объектом, он будет сериализован в строку json, и заголовок
content-type
будет установлен вapplication/json
, если не установлен явно. В противном случае заголовокcontent-type
будет установлен вapplication/octet-stream
, если не установлен явно. -
FailOnStatusCode
bool? (опционально)#Следует ли выбрасывать исключение при кодах ответа, отличных от 2xx и 3xx. По умолчанию объект ответа возвращается для всех кодов состояния.
-
Предоставляет объект, который будет сериализован как 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Отправляет HTTP(S) запрос PUT и возвращает его ответ. Метод заполнит cookies запроса из контекста и обновит cookies контекста из ответа. Метод автоматически следует за перенаправлениями.
Использование
await ApiRequestContext.PutAsync(url, options);
Аргументы
-
Целевой URL.
-
options
ApiRequestContextPutOptions?
(опционально)-
Data|DataByte|DataObject
string? | byte[]? | [object]? (опционально)#Позволяет установить данные запроса. Если параметр данных является объектом, он будет сериализован в строку json, и заголовок
content-type
будет установлен вapplication/json
, если не установлен явно. В противном случае заголовокcontent-type
будет установлен вapplication/octet-stream
, если не установлен явно. -
FailOnStatusCode
bool? (опционально)#Следует ли выбрасывать исключение при кодах ответа, отличных от 2xx и 3xx. По умолчанию объект ответа возвращается для всех кодов состояния.
-
Предоставляет объект, который будет сериализован как 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Возвращает состояние хранилища для этого контекста запроса, содержит текущие cookies и снимок локального хранилища, если он был передан в конструктор.
Использование
await ApiRequestContext.StorageStateAsync(options);
Аргументы
options
ApiRequestContextStorageStateOptions?
(опционально)-
IndexedDB
bool? (опционально) Добавлено в: v1.51#Установите в
true
, чтобы включить IndexedDB в снимок состояния хранилища. -
Путь к файлу для сохранения состояния хранилища. Если Path является относительным путем, то он разрешается относительно текущей рабочей директории. Если путь не указан, состояние хранилища все равно возвращается, но не будет сохранено на диск.
-
Возвращает