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

RequestOptions

RequestOptions позволяет создавать данные формы для отправки через APIRequestContext. Playwright автоматически определит тип содержимого запроса.

context.request().post(
"https://example.com/submit",
RequestOptions.create()
.setQueryParam("page", 1)
.setData("My data"));

Загрузка данных формы HTML

Класс FormData может быть использован для отправки формы на сервер, по умолчанию запрос будет использовать кодировку application/x-www-form-urlencoded:

context.request().post("https://example.com/signup", RequestOptions.create().setForm(
FormData.create()
.set("firstName", "John")
.set("lastName", "Doe")));

Вы также можете отправлять файлы в качестве полей формы HTML. Данные будут закодированы с использованием multipart/form-data:

Path path = Paths.get("members.csv");
APIResponse response = context.request().post("https://example.com/upload_members",
RequestOptions.create().setMultipart(FormData.create().set("membersList", path)));

В качестве альтернативы, вы можете вручную создать полезную нагрузку файла:

FilePayload filePayload = new FilePayload("members.csv", "text/csv",
"Alice, 33\nJohn, 35\n".getBytes(StandardCharsets.UTF_8));
APIResponse response = context.request().post("https://example.com/upload_members",
RequestOptions.create().setMultipart(FormData.create().set("membersList", filePayload)));

Методы

create

Добавлено в: v1.18 requestOptions.create

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

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

RequestOptions.create();

Возвращает


setData

Добавлено в: v1.18 requestOptions.setData

Устанавливает данные запроса post.

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

RequestOptions.setData(data);

Аргументы

  • data String | byte[] | Object#

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

Возвращает


setFailOnStatusCode

Добавлено в: v1.18 requestOptions.setFailOnStatusCode

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

RequestOptions.setFailOnStatusCode(failOnStatusCode);

Аргументы

  • failOnStatusCode boolean#

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

Возвращает


setForm

Добавлено в: v1.18 requestOptions.setForm

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

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

RequestOptions.setForm(form);

Аргументы

  • form FormData#

    Данные формы, которые будут сериализованы как HTML-форма с использованием кодировки application/x-www-form-urlencoded и отправлены в качестве тела этого запроса.

Возвращает


setHeader

Добавлено в: v1.18 requestOptions.setHeader

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

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

RequestOptions.setHeader(name, value);

Аргументы

  • name String#

    Имя заголовка.

  • value String#

    Значение заголовка.

Возвращает


setIgnoreHTTPSErrors

Добавлено в: v1.18 requestOptions.setIgnoreHTTPSErrors

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

RequestOptions.setIgnoreHTTPSErrors(ignoreHTTPSErrors);

Аргументы

  • ignoreHTTPSErrors boolean#

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

Возвращает


setMaxRedirects

Добавлено в: v1.26 requestOptions.setMaxRedirects

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

RequestOptions.setMaxRedirects(maxRedirects);

Аргументы

  • maxRedirects int#

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

Возвращает


setMaxRetries

Добавлено в: v1.46 requestOptions.setMaxRetries

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

RequestOptions.setMaxRetries(maxRetries);

Аргументы

  • maxRetries int#

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

Возвращает


setMethod

Добавлено в: v1.18 requestOptions.setMethod

Изменяет метод запроса (например, PUT или POST).

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

RequestOptions.setMethod(method);

Аргументы

  • method String#

    Метод запроса, например POST.

Возвращает


setMultipart

Добавлено в: v1.18 requestOptions.setMultipart

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

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

RequestOptions.setMultipart(form);

Аргументы

  • form FormData#

    Данные формы, которые будут сериализованы как HTML-форма с использованием кодировки multipart/form-data и отправлены в качестве тела этого запроса.

Возвращает


setQueryParam

Добавлено в: v1.18 requestOptions.setQueryParam

Добавляет параметр запроса к URL запроса.

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

RequestOptions.setQueryParam(name, value);

Аргументы

Возвращает


setTimeout

Добавлено в: v1.18 requestOptions.setTimeout

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

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

RequestOptions.setTimeout(timeout);

Аргументы

  • timeout double#

    Тайм-аут запроса в миллисекундах.

Возвращает