メインコンテンツへスキップ

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.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 オブジェクトを提供します。このオブジェクトは application/x-www-form-urlencoded エンコーディングを使用して HTML フォームとしてシリアライズされ、このリクエストボディとして送信されます。このパラメーターが指定された場合、content-type ヘッダーは明示的に指定されていない限り application/x-www-form-urlencoded に設定されます。

使用例

RequestOptions.setForm(form);

引数

  • form FormData#

    application/x-www-form-urlencoded エンコーディングを使用して HTML フォームとしてシリアライズされ、このリクエストボディとして送信されるフォームデータ。

戻り値


setHeader

バージョン v1.18 で追加 requestOptions.setHeader

HTTP ヘッダーをリクエストに設定します。このヘッダーは、フェッチされたリクエストと、それによって開始されたリダイレクトの両方に適用されます。

使用例

RequestOptions.setHeader(name, value);

引数

戻り値


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 オブジェクトを提供します。このオブジェクトは multipart/form-data エンコーディングを使用して HTML フォームとしてシリアライズされ、このリクエストボディとして送信されます。このパラメーターが指定された場合、content-type ヘッダーは明示的に指定されていない限り multipart/form-data に設定されます。

使用例

RequestOptions.setMultipart(form);

引数

  • form FormData#

    multipart/form-data エンコーディングを使用して HTML フォームとしてシリアライズされ、このリクエストボディとして送信されるフォームデータ。

戻り値


setQueryParam

バージョン v1.18 で追加 requestOptions.setQueryParam

クエリパラメーターをリクエスト URL に追加します。

使用例

RequestOptions.setQueryParam(name, value);

引数

戻り値


setTimeout

バージョン v1.18 で追加 requestOptions.setTimeout

リクエストタイムアウトをミリ秒単位で設定します。デフォルトは 30000 (30 秒) です。タイムアウトを無効にするには 0 を渡します。

使用例

RequestOptions.setTimeout(timeout);

引数

  • timeout double#

    リクエストタイムアウト (ミリ秒単位)。

戻り値