RequestOptions
RequestOptions は、APIRequestContext 経由で送信されるフォームデータを作成するために使用されます。Playwright はリクエストの content type を自動的に決定します。
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 の新しいインスタンスを作成します。
使用例
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);
引数
-
2xx および 3xx 以外のレスポンスコードで例外をスローするかどうか。デフォルトでは、すべてのステータスコードに対してレスポンスオブジェクトが返されます。
戻り値
setForm
バージョン v1.18 で追加FormData オブジェクトを提供します。このオブジェクトは application/x-www-form-urlencoded
エンコーディングを使用して HTML フォームとしてシリアライズされ、このリクエストボディとして送信されます。このパラメーターが指定された場合、content-type ヘッダーは明示的に指定されていない限り application/x-www-form-urlencoded
に設定されます。
使用例
RequestOptions.setForm(form);
引数
-
application/x-www-form-urlencoded
エンコーディングを使用して HTML フォームとしてシリアライズされ、このリクエストボディとして送信されるフォームデータ。
戻り値
setHeader
バージョン v1.18 で追加HTTP ヘッダーをリクエストに設定します。このヘッダーは、フェッチされたリクエストと、それによって開始されたリダイレクトの両方に適用されます。
使用例
RequestOptions.setHeader(name, value);
引数
戻り値
setIgnoreHTTPSErrors
バージョン v1.18 で追加使用例
RequestOptions.setIgnoreHTTPSErrors(ignoreHTTPSErrors);
引数
戻り値
setMaxRedirects
バージョン v1.26 で追加使用例
RequestOptions.setMaxRedirects(maxRedirects);
引数
-
自動的に追跡されるリクエストリダイレクトの最大数。この数を超えるとエラーがスローされます。デフォルトは
20
です。リダイレクトを追跡しない場合は0
を渡します。
戻り値
setMaxRetries
バージョン v1.46 で追加使用例
RequestOptions.setMaxRetries(maxRetries);
引数
-
ネットワークエラーを再試行する最大回数。現在、
ECONNRESET
エラーのみが再試行されます。HTTP レスポンスコードに基づいて再試行することはありません。制限を超えるとエラーがスローされます。デフォルトは0
(再試行なし) です。
戻り値
setMethod
バージョン v1.18 で追加リクエストメソッドを変更します (例: PUT または POST)。
使用例
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);
引数
戻り値