RequestOptions
The RequestOptions allows to create form data to be sent via APIRequestContext. Playwright will automatically determine content type of the request.
context.request().post(
"https://example.com/submit",
RequestOptions.create()
.setQueryParam("page", 1)
.setData("My data"));
上传 html 表单数据
FormData class can be used to send a form to the server, by default the request will use application/x-www-form-urlencoded
encoding
context.request().post("https://example.com/signup", RequestOptions.create().setForm(
FormData.create()
.set("firstName", "John")
.set("lastName", "Doe")));
You can also send files as fields of an html form. The data will be encoded using 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)));
Alternatively, you can build the file payload manually
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 的新实例。
用法
RequestOptions.create();
返回值
setData
在以下版本中添加:v1.18设置请求的 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(failOnStatusCode);
参数
返回值
setForm
在以下版本中添加:v1.18提供 FormData 对象,该对象将被序列化为使用 application/x-www-form-urlencoded
编码的 HTML 表单,并作为此请求正文发送。如果指定了此参数,则 content-type
标头将被设置为 application/x-www-form-urlencoded
(除非显式提供)。
用法
RequestOptions.setForm(form);
参数
返回值
setHeader
在以下版本中添加:v1.18设置请求的 HTTP 标头。此标头将应用于获取的请求,以及由其启动的任何重定向。
用法
RequestOptions.setHeader(name, value);
参数
返回值
setIgnoreHTTPSErrors
在以下版本中添加:v1.18用法
RequestOptions.setIgnoreHTTPSErrors(ignoreHTTPSErrors);
参数
返回值
setMaxRedirects
在以下版本中添加:v1.26用法
RequestOptions.setMaxRedirects(maxRedirects);
参数
返回值
setMaxRetries
在以下版本中添加:v1.46用法
RequestOptions.setMaxRetries(maxRetries);
参数
返回值
setMethod
在以下版本中添加:v1.18用法
RequestOptions.setMethod(method);
参数
返回值
setMultipart
在以下版本中添加:v1.18提供 FormData 对象,该对象将被序列化为使用 multipart/form-data
编码的 HTML 表单,并作为此请求正文发送。如果指定了此参数,则 content-type
标头将被设置为 multipart/form-data
(除非显式提供)。
用法
RequestOptions.setMultipart(form);
参数
返回值
setQueryParam
在以下版本中添加:v1.18向请求 URL 添加查询参数。
用法
RequestOptions.setQueryParam(name, value);
参数
返回值
setTimeout
在以下版本中添加:v1.18以毫秒为单位设置请求超时。默认值为 30000
(30 秒)。传递 0
表示禁用超时。
用法
RequestOptions.setTimeout(timeout);
参数
返回值