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

APIRequestContext

このAPIは、Web APIテストに使用されます。APIエンドポイントのトリガー、マイクロサービスの設定、e2eテストの環境またはサービスを準備するために使用できます。

各Playwrightブラウザコンテキストには、それに関連付けられたAPIRequestContextインスタンスがあり、ブラウザコンテキストとCookieストレージを共有し、BrowserContext.APIRequestまたはPage.APIRequestを介してアクセスできます。また、ApiRequest.NewContextAsync()を呼び出すことで、新しいAPIRequestContextインスタンスを手動で作成することもできます。

Cookie管理

APIRequestContextは、BrowserContext.APIRequestおよびPage.APIRequestによって返され、対応するBrowserContextとCookieストレージを共有します。各APIリクエストには、ブラウザコンテキストの値が設定されたCookieヘッダーが含まれます。APIレスポンスにSet-Cookieヘッダーが含まれている場合、自動的にBrowserContext Cookieを更新し、ページから行われたリクエストはそれらを拾い上げます。これは、このAPIを使用してログインすると、e2eテストがログインされ、その逆も同様であることを意味します。

APIリクエストがブラウザのCookieに干渉しないようにするには、APIRequestContextApiRequest.NewContextAsync()を呼び出して新規作成する必要があります。このようなAPIRequestContextオブジェクトは、独自の独立したCookieストレージを持ちます。


メソッド

CreateFormData

追加: v1.23 apiRequestContext.CreateFormData

HTTPリクエストを行う際にフォームデータとマルチパートデータを提供するために使用される新しいFormDataインスタンスを作成します。

使用法

ApiRequestContext.CreateFormData

戻り値


DeleteAsync

追加: v1.16 apiRequestContext.DeleteAsync

HTTP(S) DELETEリクエストを送信し、そのレスポンスを返します。このメソッドは、コンテキストからリクエストCookieを取り込み、レスポンスからコンテキストCookieを更新します。このメソッドは、自動的にリダイレクトに従います。

使用法

await ApiRequestContext.DeleteAsync(url, options);

引数

  • url string#

    ターゲットURL。

  • options ApiRequestContextDeleteOptions? (オプション)

    • Data|DataByte|DataObject string? | byte[]? | [object]? (オプション)追加: v1.17#

      リクエストのポストデータを設定できます。dataパラメータがオブジェクトの場合、json文字列にシリアライズされ、content-typeヘッダーが明示的に設定されていない場合はapplication/jsonに設定されます。それ以外の場合、content-typeヘッダーが明示的に設定されていない場合はapplication/octet-streamに設定されます。

    • FailOnStatusCode bool? (オプション)#

      2xxおよび3xx以外のレスポンスコードで例外をスローするかどうか。デフォルトでは、すべてのステータスコードに対してレスポンスオブジェクトが返されます。

    • Form FormData? (オプション)追加: v1.17#

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

      FormDataのインスタンスは、ApiRequestContext.CreateFormDataを介して作成できます。

    • Headers IDictionary?<string, string> (オプション)#

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

    • IgnoreHTTPSErrors bool? (オプション)#

      ネットワークリクエストの送信時にHTTPSエラーを無視するかどうか。デフォルトはfalseです。

    • MaxRedirects int? (オプション)追加: v1.26#

      自動的に追跡されるリクエストリダイレクトの最大数。この数を超えるとエラーがスローされます。デフォルトは20です。リダイレクトを追跡しない場合は0を渡します。

    • MaxRetries int? (オプション)追加: v1.46#

      ネットワークエラーを再試行する最大回数。現在、ECONNRESETエラーのみが再試行されます。HTTPレスポンスコードに基づいて再試行しません。制限を超えるとエラーがスローされます。デフォルトは0 - 再試行なしです。

    • Multipart FormData? (オプション)追加: v1.17#

      multipart/form-dataエンコーディングを使用してhtmlフォームとしてシリアライズされ、このリクエストボディとして送信されるオブジェクトを提供します。このパラメータが指定されている場合、content-typeヘッダーは明示的に指定されない限りmultipart/form-dataに設定されます。ファイル値は、ファイル名、mime-type、およびそのコンテンツを含むファイルライクオブジェクトとして渡すことができます。

      FormDataのインスタンスは、ApiRequestContext.CreateFormDataを介して作成できます。

    • Params IDictionary?<string, [object]> (オプション)#

      URLとともに送信されるクエリパラメータ。

    • ParamsString string? (オプション)追加: v1.47#

      URLとともに送信されるクエリパラメータ。

    • Timeout [float]? (オプション)#

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

戻り値


DisposeAsync

追加: v1.16 apiRequestContext.DisposeAsync

ApiRequestContext.GetAsync()や同様のメソッドによって返されるすべてのレスポンスはメモリに格納されるため、後でApiResponse.BodyAsync()を呼び出すことができます。このメソッドは、すべてのリソースを破棄し、破棄されたAPIRequestContextでメソッドを呼び出すと例外がスローされます。

使用法

await ApiRequestContext.DisposeAsync(options);

引数

  • options ApiRequestContextDisposeOptions? (オプション)
    • Reason string? (オプション)追加: v1.45#

      コンテキストの破棄によって中断された操作に報告される理由。

戻り値


FetchAsync

追加: v1.16 apiRequestContext.FetchAsync

HTTP(S)リクエストを送信し、そのレスポンスを返します。このメソッドは、コンテキストからリクエストCookieを取り込み、レスポンスからコンテキストCookieを更新します。このメソッドは、自動的にリダイレクトに従います。

使用法

JSONオブジェクトはリクエストに直接渡すことができます

var data = new Dictionary<string, object>() {
{ "title", "Book Title" },
{ "body", "John Doe" }
};
await Request.FetchAsync("https://example.com/api/createBook", new() { Method = "post", DataObject = data });

リクエストのボディでファイルを送信する一般的な方法は、multipartパラメータを指定して、multipart/form-dataエンコーディングでフォームフィールドとしてアップロードすることです。

var file = new FilePayload()
{
Name = "f.js",
MimeType = "text/javascript",
Buffer = System.Text.Encoding.UTF8.GetBytes("console.log(2022);")
};
var multipart = Context.APIRequest.CreateFormData();
multipart.Set("fileField", file);
await Request.FetchAsync("https://example.com/api/uploadScript", new() { Method = "post", Multipart = multipart });

引数

  • urlOrRequest string | Request#

    ターゲットURL、またはすべてのパラメータを取得するリクエスト。

  • options ApiRequestContextFetchOptions? (オプション)

    • Data|DataByte|DataObject string? | byte[]? | [object]? (オプション)#

      リクエストのポストデータを設定できます。dataパラメータがオブジェクトの場合、json文字列にシリアライズされ、content-typeヘッダーが明示的に設定されていない場合はapplication/jsonに設定されます。それ以外の場合、content-typeヘッダーが明示的に設定されていない場合はapplication/octet-streamに設定されます。

    • FailOnStatusCode bool? (オプション)#

      2xxおよび3xx以外のレスポンスコードで例外をスローするかどうか。デフォルトでは、すべてのステータスコードに対してレスポンスオブジェクトが返されます。

    • Form FormData? (オプション)#

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

      FormDataのインスタンスは、ApiRequestContext.CreateFormDataを介して作成できます。

    • Headers IDictionary?<string, string> (オプション)#

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

    • IgnoreHTTPSErrors bool? (オプション)#

      ネットワークリクエストの送信時にHTTPSエラーを無視するかどうか。デフォルトはfalseです。

    • MaxRedirects int? (オプション)追加: v1.26#

      自動的に追跡されるリクエストリダイレクトの最大数。この数を超えるとエラーがスローされます。デフォルトは20です。リダイレクトを追跡しない場合は0を渡します。

    • MaxRetries int? (オプション)追加: v1.46#

      ネットワークエラーを再試行する最大回数。現在、ECONNRESETエラーのみが再試行されます。HTTPレスポンスコードに基づいて再試行しません。制限を超えるとエラーがスローされます。デフォルトは0 - 再試行なしです。

    • Method string? (オプション)#

      設定されている場合、fetchメソッドを変更します(例:PUTまたはPOST)。指定されていない場合、GETメソッドが使用されます。

    • Multipart FormData? (オプション)#

      multipart/form-dataエンコーディングを使用してhtmlフォームとしてシリアライズされ、このリクエストボディとして送信されるオブジェクトを提供します。このパラメータが指定されている場合、content-typeヘッダーは明示的に指定されない限りmultipart/form-dataに設定されます。ファイル値は、ファイル名、mime-type、およびそのコンテンツを含むファイルライクオブジェクトとして渡すことができます。

      FormDataのインスタンスは、ApiRequestContext.CreateFormDataを介して作成できます。

    • Params IDictionary?<string, [object]> (オプション)#

      URLとともに送信されるクエリパラメータ。

    • ParamsString string? (オプション)追加: v1.47#

      URLとともに送信されるクエリパラメータ。

    • Timeout [float]? (オプション)#

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

戻り値


GetAsync

追加: v1.16 apiRequestContext.GetAsync

HTTP(S) GETリクエストを送信し、そのレスポンスを返します。このメソッドは、コンテキストからリクエストCookieを取り込み、レスポンスからコンテキストCookieを更新します。このメソッドは、自動的にリダイレクトに従います。

使用法

リクエストパラメータはparamsオプションで設定でき、URL検索パラメータにシリアライズされます

var queryParams = new Dictionary<string, object>()
{
{ "isbn", "1234" },
{ "page", 23 },
};
await request.GetAsync("https://example.com/api/getText", new() { Params = queryParams });

引数

  • url string#

    ターゲットURL。

  • options ApiRequestContextGetOptions? (オプション)

    • Data|DataByte|DataObject string? | byte[]? | [object]? (オプション)追加: v1.26#

      リクエストのポストデータを設定できます。dataパラメータがオブジェクトの場合、json文字列にシリアライズされ、content-typeヘッダーが明示的に設定されていない場合はapplication/jsonに設定されます。それ以外の場合、content-typeヘッダーが明示的に設定されていない場合はapplication/octet-streamに設定されます。

    • FailOnStatusCode bool? (オプション)#

      2xxおよび3xx以外のレスポンスコードで例外をスローするかどうか。デフォルトでは、すべてのステータスコードに対してレスポンスオブジェクトが返されます。

    • Form FormData? (オプション)追加: v1.26#

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

      FormDataのインスタンスは、ApiRequestContext.CreateFormDataを介して作成できます。

    • Headers IDictionary?<string, string> (オプション)#

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

    • IgnoreHTTPSErrors bool? (オプション)#

      ネットワークリクエストの送信時にHTTPSエラーを無視するかどうか。デフォルトはfalseです。

    • MaxRedirects int? (オプション)追加: v1.26#

      自動的に追跡されるリクエストリダイレクトの最大数。この数を超えるとエラーがスローされます。デフォルトは20です。リダイレクトを追跡しない場合は0を渡します。

    • MaxRetries int? (オプション)追加: v1.46#

      ネットワークエラーを再試行する最大回数。現在、ECONNRESETエラーのみが再試行されます。HTTPレスポンスコードに基づいて再試行しません。制限を超えるとエラーがスローされます。デフォルトは0 - 再試行なしです。

    • Multipart FormData? (オプション)追加: v1.26#

      multipart/form-dataエンコーディングを使用してhtmlフォームとしてシリアライズされ、このリクエストボディとして送信されるオブジェクトを提供します。このパラメータが指定されている場合、content-typeヘッダーは明示的に指定されない限りmultipart/form-dataに設定されます。ファイル値は、ファイル名、mime-type、およびそのコンテンツを含むファイルライクオブジェクトとして渡すことができます。

      FormDataのインスタンスは、ApiRequestContext.CreateFormDataを介して作成できます。

    • Params IDictionary?<string, [object]> (オプション)#

      URLとともに送信されるクエリパラメータ。

    • ParamsString string? (オプション)追加: v1.47#

      URLとともに送信されるクエリパラメータ。

    • Timeout [float]? (オプション)#

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

戻り値


HeadAsync

追加: v1.16 apiRequestContext.HeadAsync

HTTP(S) HEADリクエストを送信し、そのレスポンスを返します。このメソッドは、コンテキストからリクエストCookieを取り込み、レスポンスからコンテキストCookieを更新します。このメソッドは、自動的にリダイレクトに従います。

使用法

await ApiRequestContext.HeadAsync(url, options);

引数

  • url string#

    ターゲットURL。

  • options ApiRequestContextHeadOptions? (オプション)

    • Data|DataByte|DataObject string? | byte[]? | [object]? (オプション)追加: v1.26#

      リクエストのポストデータを設定できます。dataパラメータがオブジェクトの場合、json文字列にシリアライズされ、content-typeヘッダーが明示的に設定されていない場合はapplication/jsonに設定されます。それ以外の場合、content-typeヘッダーが明示的に設定されていない場合はapplication/octet-streamに設定されます。

    • FailOnStatusCode bool? (オプション)#

      2xxおよび3xx以外のレスポンスコードで例外をスローするかどうか。デフォルトでは、すべてのステータスコードに対してレスポンスオブジェクトが返されます。

    • Form FormData? (オプション)追加: v1.26#

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

      FormDataのインスタンスは、ApiRequestContext.CreateFormDataを介して作成できます。

    • Headers IDictionary?<string, string> (オプション)#

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

    • IgnoreHTTPSErrors bool? (オプション)#

      ネットワークリクエストの送信時にHTTPSエラーを無視するかどうか。デフォルトはfalseです。

    • MaxRedirects int? (オプション)追加: v1.26#

      自動的に追跡されるリクエストリダイレクトの最大数。この数を超えるとエラーがスローされます。デフォルトは20です。リダイレクトを追跡しない場合は0を渡します。

    • MaxRetries int? (オプション)追加: v1.46#

      ネットワークエラーを再試行する最大回数。現在、ECONNRESETエラーのみが再試行されます。HTTPレスポンスコードに基づいて再試行しません。制限を超えるとエラーがスローされます。デフォルトは0 - 再試行なしです。

    • Multipart FormData? (オプション)追加: v1.26#

      multipart/form-dataエンコーディングを使用してhtmlフォームとしてシリアライズされ、このリクエストボディとして送信されるオブジェクトを提供します。このパラメータが指定されている場合、content-typeヘッダーは明示的に指定されない限りmultipart/form-dataに設定されます。ファイル値は、ファイル名、mime-type、およびそのコンテンツを含むファイルライクオブジェクトとして渡すことができます。

      FormDataのインスタンスは、ApiRequestContext.CreateFormDataを介して作成できます。

    • Params IDictionary?<string, [object]> (オプション)#

      URLとともに送信されるクエリパラメータ。

    • ParamsString string? (オプション)追加: v1.47#

      URLとともに送信されるクエリパラメータ。

    • Timeout [float]? (オプション)#

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

戻り値


PatchAsync

追加: v1.16 apiRequestContext.PatchAsync

HTTP(S) PATCHリクエストを送信し、そのレスポンスを返します。このメソッドは、コンテキストからリクエストCookieを取り込み、レスポンスからコンテキストCookieを更新します。このメソッドは、自動的にリダイレクトに従います。

使用法

await ApiRequestContext.PatchAsync(url, options);

引数

  • url string#

    ターゲットURL。

  • options ApiRequestContextPatchOptions? (オプション)

    • Data|DataByte|DataObject string? | byte[]? | [object]? (オプション)#

      リクエストのポストデータを設定できます。dataパラメータがオブジェクトの場合、json文字列にシリアライズされ、content-typeヘッダーが明示的に設定されていない場合はapplication/jsonに設定されます。それ以外の場合、content-typeヘッダーが明示的に設定されていない場合はapplication/octet-streamに設定されます。

    • FailOnStatusCode bool? (オプション)#

      2xxおよび3xx以外のレスポンスコードで例外をスローするかどうか。デフォルトでは、すべてのステータスコードに対してレスポンスオブジェクトが返されます。

    • Form FormData? (オプション)#

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

      FormDataのインスタンスは、ApiRequestContext.CreateFormDataを介して作成できます。

    • Headers IDictionary?<string, string> (オプション)#

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

    • IgnoreHTTPSErrors bool? (オプション)#

      ネットワークリクエストの送信時にHTTPSエラーを無視するかどうか。デフォルトはfalseです。

    • MaxRedirects int? (オプション)追加: v1.26#

      自動的に追跡されるリクエストリダイレクトの最大数。この数を超えるとエラーがスローされます。デフォルトは20です。リダイレクトを追跡しない場合は0を渡します。

    • MaxRetries int? (オプション)追加: v1.46#

      ネットワークエラーを再試行する最大回数。現在、ECONNRESETエラーのみが再試行されます。HTTPレスポンスコードに基づいて再試行しません。制限を超えるとエラーがスローされます。デフォルトは0 - 再試行なしです。

    • Multipart FormData? (オプション)#

      multipart/form-dataエンコーディングを使用してhtmlフォームとしてシリアライズされ、このリクエストボディとして送信されるオブジェクトを提供します。このパラメータが指定されている場合、content-typeヘッダーは明示的に指定されない限りmultipart/form-dataに設定されます。ファイル値は、ファイル名、mime-type、およびそのコンテンツを含むファイルライクオブジェクトとして渡すことができます。

      FormDataのインスタンスは、ApiRequestContext.CreateFormDataを介して作成できます。

    • Params IDictionary?<string, [object]> (オプション)#

      URLとともに送信されるクエリパラメータ。

    • ParamsString string? (オプション)追加: v1.47#

      URLとともに送信されるクエリパラメータ。

    • Timeout [float]? (オプション)#

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

戻り値


PostAsync

追加: v1.16 apiRequestContext.PostAsync

HTTP(S) POSTリクエストを送信し、そのレスポンスを返します。このメソッドは、コンテキストからリクエストCookieを取り込み、レスポンスからコンテキストCookieを更新します。このメソッドは、自動的にリダイレクトに従います。

使用法

JSONオブジェクトはリクエストに直接渡すことができます

var data = new Dictionary<string, object>() {
{ "firstName", "John" },
{ "lastName", "Doe" }
};
await request.PostAsync("https://example.com/api/createBook", new() { DataObject = data });

フォームデータをサーバーに送信するには、formオプションを使用します。その値は、application/x-www-form-urlencodedエンコーディングでリクエストボディにエンコードされます(multipart/form-dataフォームエンコーディングを使用してファイルを送信する方法については、以下を参照してください)。

var formData = Context.APIRequest.CreateFormData();
formData.Set("title", "Book Title");
formData.Set("body", "John Doe");
await request.PostAsync("https://example.com/api/findBook", new() { Form = formData });

リクエストのボディでファイルを送信する一般的な方法は、multipart/form-dataエンコーディングでフォームフィールドとしてアップロードすることです。FormDataを使用してリクエストボディを構築し、multipartパラメータとしてリクエストに渡します。

var file = new FilePayload()
{
Name = "f.js",
MimeType = "text/javascript",
Buffer = System.Text.Encoding.UTF8.GetBytes("console.log(2022);")
};
var multipart = Context.APIRequest.CreateFormData();
multipart.Set("fileField", file);
await request.PostAsync("https://example.com/api/uploadScript", new() { Multipart = multipart });

引数

  • url string#

    ターゲットURL。

  • options ApiRequestContextPostOptions? (オプション)

    • Data|DataByte|DataObject string? | byte[]? | [object]? (オプション)#

      リクエストのポストデータを設定できます。dataパラメータがオブジェクトの場合、json文字列にシリアライズされ、content-typeヘッダーが明示的に設定されていない場合はapplication/jsonに設定されます。それ以外の場合、content-typeヘッダーが明示的に設定されていない場合はapplication/octet-streamに設定されます。

    • FailOnStatusCode bool? (オプション)#

      2xxおよび3xx以外のレスポンスコードで例外をスローするかどうか。デフォルトでは、すべてのステータスコードに対してレスポンスオブジェクトが返されます。

    • Form FormData? (オプション)#

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

      FormDataのインスタンスは、ApiRequestContext.CreateFormDataを介して作成できます。

    • Headers IDictionary?<string, string> (オプション)#

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

    • IgnoreHTTPSErrors bool? (オプション)#

      ネットワークリクエストの送信時にHTTPSエラーを無視するかどうか。デフォルトはfalseです。

    • MaxRedirects int? (オプション)追加: v1.26#

      自動的に追跡されるリクエストリダイレクトの最大数。この数を超えるとエラーがスローされます。デフォルトは20です。リダイレクトを追跡しない場合は0を渡します。

    • MaxRetries int? (オプション)追加: v1.46#

      ネットワークエラーを再試行する最大回数。現在、ECONNRESETエラーのみが再試行されます。HTTPレスポンスコードに基づいて再試行しません。制限を超えるとエラーがスローされます。デフォルトは0 - 再試行なしです。

    • Multipart FormData? (オプション)#

      multipart/form-dataエンコーディングを使用してhtmlフォームとしてシリアライズされ、このリクエストボディとして送信されるオブジェクトを提供します。このパラメータが指定されている場合、content-typeヘッダーは明示的に指定されない限りmultipart/form-dataに設定されます。ファイル値は、ファイル名、mime-type、およびそのコンテンツを含むファイルライクオブジェクトとして渡すことができます。

      FormDataのインスタンスは、ApiRequestContext.CreateFormDataを介して作成できます。

    • Params IDictionary?<string, [object]> (オプション)#

      URLとともに送信されるクエリパラメータ。

    • ParamsString string? (オプション)追加: v1.47#

      URLとともに送信されるクエリパラメータ。

    • Timeout [float]? (オプション)#

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

戻り値


PutAsync

追加: v1.16 apiRequestContext.PutAsync

HTTP(S) PUTリクエストを送信し、そのレスポンスを返します。このメソッドは、コンテキストからリクエストCookieを取り込み、レスポンスからコンテキストCookieを更新します。このメソッドは、自動的にリダイレクトに従います。

使用法

await ApiRequestContext.PutAsync(url, options);

引数

  • url string#

    ターゲットURL。

  • options ApiRequestContextPutOptions? (オプション)

    • Data|DataByte|DataObject string? | byte[]? | [object]? (オプション)#

      リクエストのポストデータを設定できます。dataパラメータがオブジェクトの場合、json文字列にシリアライズされ、content-typeヘッダーが明示的に設定されていない場合はapplication/jsonに設定されます。それ以外の場合、content-typeヘッダーが明示的に設定されていない場合はapplication/octet-streamに設定されます。

    • FailOnStatusCode bool? (オプション)#

      2xxおよび3xx以外のレスポンスコードで例外をスローするかどうか。デフォルトでは、すべてのステータスコードに対してレスポンスオブジェクトが返されます。

    • Form FormData? (オプション)#

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

      FormDataのインスタンスは、ApiRequestContext.CreateFormDataを介して作成できます。

    • Headers IDictionary?<string, string> (オプション)#

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

    • IgnoreHTTPSErrors bool? (オプション)#

      ネットワークリクエストの送信時にHTTPSエラーを無視するかどうか。デフォルトはfalseです。

    • MaxRedirects int? (オプション)追加: v1.26#

      自動的に追跡されるリクエストリダイレクトの最大数。この数を超えるとエラーがスローされます。デフォルトは20です。リダイレクトを追跡しない場合は0を渡します。

    • MaxRetries int? (オプション)追加: v1.46#

      ネットワークエラーを再試行する最大回数。現在、ECONNRESETエラーのみが再試行されます。HTTPレスポンスコードに基づいて再試行しません。制限を超えるとエラーがスローされます。デフォルトは0 - 再試行なしです。

    • Multipart FormData? (オプション)#

      multipart/form-dataエンコーディングを使用してhtmlフォームとしてシリアライズされ、このリクエストボディとして送信されるオブジェクトを提供します。このパラメータが指定されている場合、content-typeヘッダーは明示的に指定されない限りmultipart/form-dataに設定されます。ファイル値は、ファイル名、mime-type、およびそのコンテンツを含むファイルライクオブジェクトとして渡すことができます。

      FormDataのインスタンスは、ApiRequestContext.CreateFormDataを介して作成できます。

    • Params IDictionary?<string, [object]> (オプション)#

      URLとともに送信されるクエリパラメータ。

    • ParamsString string? (オプション)追加: v1.47#

      URLとともに送信されるクエリパラメータ。

    • Timeout [float]? (オプション)#

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

戻り値


StorageStateAsync

追加: v1.16 apiRequestContext.StorageStateAsync

このリクエストコンテキストのストレージ状態を返します。コンストラクタに渡された場合は、現在のCookieとローカルストレージのスナップショットが含まれます。

使用法

await ApiRequestContext.StorageStateAsync(options);

引数

  • options ApiRequestContextStorageStateOptions? (オプション)
    • IndexedDB bool? (オプション)追加: v1.51#

      ストレージ状態のスナップショットにIndexedDBを含める場合はtrueに設定します。

    • Path string? (オプション)#

      Pathが相対パスの場合、ストレージ状態を保存するファイルパス。現在の作業ディレクトリからの相対パスとして解決されます。パスが指定されていない場合でも、ストレージ状態は返されますが、ディスクには保存されません。

戻り値