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

APIRequestContext

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

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

Cookie管理

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

APIリクエストがブラウザCookieに干渉しないようにする場合は、APIRequestContextapi_request.new_context()を呼び出すことによって新しく作成する必要があります。 そのようなAPIRequestContextオブジェクトは、独自の分離されたCookieストレージを持ちます。

import os
from playwright.sync_api import sync_playwright

REPO = "test-repo-1"
USER = "github-username"
API_TOKEN = os.getenv("GITHUB_API_TOKEN")

with sync_playwright() as p:
# This will launch a new browser, create a context and page. When making HTTP
# requests with the internal APIRequestContext (e.g. `context.request` or `page.request`)
# it will automatically set the cookies to the browser page and vice versa.
browser = p.chromium.launch()
context = browser.new_context(base_url="https://api.github.com")
api_request_context = context.request
page = context.new_page()

# Alternatively you can create a APIRequestContext manually without having a browser context attached:
# api_request_context = p.request.new_context(base_url="https://api.github.com")


# Create a repository.
response = api_request_context.post(
"/user/repos",
headers={
"Accept": "application/vnd.github.v3+json",
# Add GitHub personal access token.
"Authorization": f"token {API_TOKEN}",
},
data={"name": REPO},
)
assert response.ok
assert response.json()["name"] == REPO

# Delete a repository.
response = api_request_context.delete(
f"/repos/{USER}/{REPO}",
headers={
"Accept": "application/vnd.github.v3+json",
# Add GitHub personal access token.
"Authorization": f"token {API_TOKEN}",
},
)
assert response.ok
assert await response.body() == '{"status": "ok"}'

メソッド

delete

バージョン v1.16 で追加 apiRequestContext.delete

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

使用例

api_request_context.delete(url)
api_request_context.delete(url, **kwargs)

引数

  • url str#

    ターゲットURL。

  • data str | bytes | Dict (オプション)バージョン v1.17 で追加#

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

  • fail_on_status_code bool (オプション)#

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

  • form Dict[str, str | float | bool] (オプション)バージョン v1.17 で追加#

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

  • headers Dict[str, str] (オプション)#

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

  • ignore_https_errors bool (オプション)#

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

  • max_redirects int (オプション)バージョン v1.26 で追加#

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

  • max_retries int (オプション)バージョン v1.46 で追加#

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

  • multipart Dict[str, str | float | bool | [ReadStream] | Dict] (オプション)バージョン v1.17 で追加#

    • name str

      ファイル名

    • mimeType str

      ファイル形式

    • buffer bytes

      ファイル内容

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

  • params Dict[str, str | float | bool] | str (オプション)#

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

  • timeout float (オプション)#

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

戻り値


dispose

バージョン v1.16 で追加 apiRequestContext.dispose

api_request_context.get()および同様のメソッドによって返されるすべてのレスポンスは、メモリに保存されるため、後でapi_response.body()を呼び出すことができます。このメソッドは、すべてのリソースを破棄し、破棄されたAPIRequestContextでメソッドを呼び出すと例外がスローされます。

使用例

api_request_context.dispose()
api_request_context.dispose(**kwargs)

引数

  • reason str (オプション)バージョン v1.45 で追加#

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

戻り値


fetch

バージョン v1.16 で追加 apiRequestContext.fetch

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

使用例

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

data = {
"title": "Book Title",
"body": "John Doe",
}
api_request_context.fetch("https://example.com/api/createBook", method="post", data=data)

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

api_request_context.fetch(
"https://example.com/api/uploadScript", method="post",
multipart={
"fileField": {
"name": "f.js",
"mimeType": "text/javascript",
"buffer": b"console.log(2022);",
},
})

引数

  • url_or_request str | Request#

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

  • data str | bytes | Dict (オプション)#

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

  • fail_on_status_code bool (オプション)#

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

  • form Dict[str, str | float | bool] (オプション)#

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

  • headers Dict[str, str] (オプション)#

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

  • ignore_https_errors bool (オプション)#

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

  • max_redirects int (オプション)バージョン v1.26 で追加#

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

  • max_retries int (オプション)バージョン v1.46 で追加#

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

  • method str (オプション)#

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

  • multipart Dict[str, str | float | bool | [ReadStream] | Dict] (オプション)#

    • name str

      ファイル名

    • mimeType str

      ファイル形式

    • buffer bytes

      ファイル内容

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

  • params Dict[str, str | float | bool] | str (オプション)#

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

  • timeout float (オプション)#

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

戻り値


get

バージョン v1.16 で追加 apiRequestContext.get

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

使用例

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

query_params = {
"isbn": "1234",
"page": "23"
}
api_request_context.get("https://example.com/api/getText", params=query_params)

引数

  • url str#

    ターゲットURL。

  • data str | bytes | Dict (オプション)バージョン v1.26 で追加#

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

  • fail_on_status_code bool (オプション)#

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

  • form Dict[str, str | float | bool] (オプション)バージョン v1.26 で追加#

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

  • headers Dict[str, str] (オプション)#

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

  • ignore_https_errors bool (オプション)#

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

  • max_redirects int (オプション)バージョン v1.26 で追加#

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

  • max_retries int (オプション)バージョン v1.46 で追加#

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

  • multipart Dict[str, str | float | bool | [ReadStream] | Dict] (オプション)バージョン v1.26 で追加#

    • name str

      ファイル名

    • mimeType str

      ファイル形式

    • buffer bytes

      ファイル内容

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

  • params Dict[str, str | float | bool] | str (オプション)#

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

  • timeout float (オプション)#

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

戻り値


head

バージョン v1.16 で追加 apiRequestContext.head

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

使用例

api_request_context.head(url)
api_request_context.head(url, **kwargs)

引数

  • url str#

    ターゲットURL。

  • data str | bytes | Dict (オプション)バージョン v1.26 で追加#

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

  • fail_on_status_code bool (オプション)#

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

  • form Dict[str, str | float | bool] (オプション)バージョン v1.26 で追加#

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

  • headers Dict[str, str] (オプション)#

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

  • ignore_https_errors bool (オプション)#

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

  • max_redirects int (オプション)バージョン v1.26 で追加#

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

  • max_retries int (オプション)バージョン v1.46 で追加#

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

  • multipart Dict[str, str | float | bool | [ReadStream] | Dict] (オプション)バージョン v1.26 で追加#

    • name str

      ファイル名

    • mimeType str

      ファイル形式

    • buffer bytes

      ファイル内容

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

  • params Dict[str, str | float | bool] | str (オプション)#

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

  • timeout float (オプション)#

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

戻り値


patch

バージョン v1.16 で追加 apiRequestContext.patch

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

使用例

api_request_context.patch(url)
api_request_context.patch(url, **kwargs)

引数

  • url str#

    ターゲットURL。

  • data str | bytes | Dict (オプション)#

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

  • fail_on_status_code bool (オプション)#

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

  • form Dict[str, str | float | bool] (オプション)#

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

  • headers Dict[str, str] (オプション)#

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

  • ignore_https_errors bool (オプション)#

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

  • max_redirects int (オプション)バージョン v1.26 で追加#

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

  • max_retries int (オプション)バージョン v1.46 で追加#

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

  • multipart Dict[str, str | float | bool | [ReadStream] | Dict] (オプション)#

    • name str

      ファイル名

    • mimeType str

      ファイル形式

    • buffer bytes

      ファイル内容

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

  • params Dict[str, str | float | bool] | str (オプション)#

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

  • timeout float (オプション)#

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

戻り値


post

バージョン v1.16 で追加 apiRequestContext.post

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

使用例

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

data = {
"title": "Book Title",
"body": "John Doe",
}
api_request_context.post("https://example.com/api/createBook", data=data)

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

formData = {
"title": "Book Title",
"body": "John Doe",
}
api_request_context.post("https://example.com/api/findBook", form=formData)

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

api_request_context.post(
"https://example.com/api/uploadScript'",
multipart={
"fileField": {
"name": "f.js",
"mimeType": "text/javascript",
"buffer": b"console.log(2022);",
},
})

引数

  • url str#

    ターゲットURL。

  • data str | bytes | Dict (オプション)#

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

  • fail_on_status_code bool (オプション)#

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

  • form Dict[str, str | float | bool] (オプション)#

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

  • headers Dict[str, str] (オプション)#

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

  • ignore_https_errors bool (オプション)#

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

  • max_redirects int (オプション)バージョン v1.26 で追加#

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

  • max_retries int (オプション)バージョン v1.46 で追加#

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

  • multipart Dict[str, str | float | bool | [ReadStream] | Dict] (オプション)#

    • name str

      ファイル名

    • mimeType str

      ファイル形式

    • buffer bytes

      ファイル内容

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

  • params Dict[str, str | float | bool] | str (オプション)#

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

  • timeout float (オプション)#

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

戻り値


put

バージョン v1.16 で追加 apiRequestContext.put

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

使用例

api_request_context.put(url)
api_request_context.put(url, **kwargs)

引数

  • url str#

    ターゲットURL。

  • data str | bytes | Dict (オプション)#

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

  • fail_on_status_code bool (オプション)#

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

  • form Dict[str, str | float | bool] (オプション)#

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

  • headers Dict[str, str] (オプション)#

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

  • ignore_https_errors bool (オプション)#

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

  • max_redirects int (オプション)バージョン v1.26 で追加#

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

  • max_retries int (オプション)バージョン v1.46 で追加#

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

  • multipart Dict[str, str | float | bool | [ReadStream] | Dict] (オプション)#

    • name str

      ファイル名

    • mimeType str

      ファイル形式

    • buffer bytes

      ファイル内容

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

  • params Dict[str, str | float | bool] | str (オプション)#

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

  • timeout float (オプション)#

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

戻り値


storage_state

バージョン v1.16 で追加 apiRequestContext.storage_state

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

使用例

api_request_context.storage_state()
api_request_context.storage_state(**kwargs)

引数

  • indexed_db bool (オプション)追加バージョン: v1.51#

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

  • path Union[str, pathlib.Path] (オプション)#

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

戻り値