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

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データを設定できます。データパラメータがオブジェクトの場合、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

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

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

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

戻り値