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に干渉しないようにするには、APIRequestContextをApiRequest.NewContextAsync()を呼び出して新規作成する必要があります。このようなAPIRequestContext
オブジェクトは、独自の独立したCookieストレージを持ちます。
メソッド
CreateFormData
追加: v1.23HTTPリクエストを行う際にフォームデータとマルチパートデータを提供するために使用される新しいFormDataインスタンスを作成します。
使用法
ApiRequestContext.CreateFormData
戻り値
DeleteAsync
追加: v1.16HTTP(S) DELETEリクエストを送信し、そのレスポンスを返します。このメソッドは、コンテキストからリクエストCookieを取り込み、レスポンスからコンテキストCookieを更新します。このメソッドは、自動的にリダイレクトに従います。
使用法
await ApiRequestContext.DeleteAsync(url, options);
引数
-
ターゲット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.16ApiRequestContext.GetAsync()や同様のメソッドによって返されるすべてのレスポンスはメモリに格納されるため、後でApiResponse.BodyAsync()を呼び出すことができます。このメソッドは、すべてのリソースを破棄し、破棄されたAPIRequestContextでメソッドを呼び出すと例外がスローされます。
使用法
await ApiRequestContext.DisposeAsync(options);
引数
options
ApiRequestContextDisposeOptions?
(オプション)
戻り値
FetchAsync
追加: v1.16HTTP(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以外のレスポンスコードで例外をスローするかどうか。デフォルトでは、すべてのステータスコードに対してレスポンスオブジェクトが返されます。
-
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
- 再試行なしです。 -
設定されている場合、fetchメソッドを変更します(例:PUTまたはPOST)。指定されていない場合、GETメソッドが使用されます。
-
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.16HTTP(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。
-
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.16HTTP(S) HEADリクエストを送信し、そのレスポンスを返します。このメソッドは、コンテキストからリクエストCookieを取り込み、レスポンスからコンテキストCookieを更新します。このメソッドは、自動的にリダイレクトに従います。
使用法
await ApiRequestContext.HeadAsync(url, options);
引数
-
ターゲット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.16HTTP(S) PATCHリクエストを送信し、そのレスポンスを返します。このメソッドは、コンテキストからリクエストCookieを取り込み、レスポンスからコンテキストCookieを更新します。このメソッドは、自動的にリダイレクトに従います。
使用法
await ApiRequestContext.PatchAsync(url, options);
引数
-
ターゲットURL。
-
options
ApiRequestContextPatchOptions?
(オプション)-
Data|DataByte|DataObject
string? | byte[]? | [object]? (オプション)#リクエストのポストデータを設定できます。dataパラメータがオブジェクトの場合、json文字列にシリアライズされ、
content-type
ヘッダーが明示的に設定されていない場合はapplication/json
に設定されます。それ以外の場合、content-type
ヘッダーが明示的に設定されていない場合はapplication/octet-stream
に設定されます。 -
FailOnStatusCode
bool? (オプション)#2xxおよび3xx以外のレスポンスコードで例外をスローするかどうか。デフォルトでは、すべてのステータスコードに対してレスポンスオブジェクトが返されます。
-
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/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.16HTTP(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。
-
options
ApiRequestContextPostOptions?
(オプション)-
Data|DataByte|DataObject
string? | byte[]? | [object]? (オプション)#リクエストのポストデータを設定できます。dataパラメータがオブジェクトの場合、json文字列にシリアライズされ、
content-type
ヘッダーが明示的に設定されていない場合はapplication/json
に設定されます。それ以外の場合、content-type
ヘッダーが明示的に設定されていない場合はapplication/octet-stream
に設定されます。 -
FailOnStatusCode
bool? (オプション)#2xxおよび3xx以外のレスポンスコードで例外をスローするかどうか。デフォルトでは、すべてのステータスコードに対してレスポンスオブジェクトが返されます。
-
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/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.16HTTP(S) PUTリクエストを送信し、そのレスポンスを返します。このメソッドは、コンテキストからリクエストCookieを取り込み、レスポンスからコンテキストCookieを更新します。このメソッドは、自動的にリダイレクトに従います。
使用法
await ApiRequestContext.PutAsync(url, options);
引数
-
ターゲットURL。
-
options
ApiRequestContextPutOptions?
(オプション)-
Data|DataByte|DataObject
string? | byte[]? | [object]? (オプション)#リクエストのポストデータを設定できます。dataパラメータがオブジェクトの場合、json文字列にシリアライズされ、
content-type
ヘッダーが明示的に設定されていない場合はapplication/json
に設定されます。それ以外の場合、content-type
ヘッダーが明示的に設定されていない場合はapplication/octet-stream
に設定されます。 -
FailOnStatusCode
bool? (オプション)#2xxおよび3xx以外のレスポンスコードで例外をスローするかどうか。デフォルトでは、すべてのステータスコードに対してレスポンスオブジェクトが返されます。
-
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/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このリクエストコンテキストのストレージ状態を返します。コンストラクタに渡された場合は、現在のCookieとローカルストレージのスナップショットが含まれます。
使用法
await ApiRequestContext.StorageStateAsync(options);
引数
options
ApiRequestContextStorageStateOptions?
(オプション)
戻り値