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

APIRequestContext

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

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

クッキー管理

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

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

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

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

使用方法

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)リクエストを送信し、その応答を返します。このメソッドは、コンテキストからリクエストクッキーを設定し、応答からコンテキストクッキーを更新します。このメソッドは自動的にリダイレクトに従います。

使用方法

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 (オプション)#

    設定されている場合、フェッチメソッドを変更します(例: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

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

使用方法

リクエストパラメータは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

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

使用方法

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

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

使用方法

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

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

使用方法

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

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

使用方法

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

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

使用方法

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

引数

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

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

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

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

戻り値