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"}'
import os
import asyncio
from playwright.async_api import async_playwright, Playwright
REPO = "test-repo-1"
USER = "github-username"
API_TOKEN = os.getenv("GITHUB_API_TOKEN")
async def run(playwright: Playwright):
# 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 = await playwright.chromium.launch()
context = await browser.new_context(base_url="https://api.github.com")
api_request_context = context.request
page = await context.new_page()
# Alternatively you can create a APIRequestContext manually without having a browser context attached:
# api_request_context = await playwright.request.new_context(base_url="https://api.github.com")
# Create a repository.
response = await 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 = await 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"}'
async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
メソッド
delete
追加バージョン: v1.16HTTP(S) DELETEリクエストを送信し、そのレスポンスを返します。このメソッドは、コンテキストからリクエストのクッキーを設定し、レスポンスからコンテキストのクッキーを更新します。このメソッドは自動的にリダイレクトを追跡します。
使用法
api_request_context.delete(url)
api_request_context.delete(url, **kwargs)
引数
-
ターゲットURL。
-
datastr | bytes | Dict (オプション)追加バージョン: v1.17#リクエストのPOSTデータを設定できます。データパラメータがオブジェクトの場合、JSON文字列にシリアル化され、明示的に設定されていない限り
content-typeヘッダーはapplication/jsonに設定されます。それ以外の場合、明示的に設定されていない限りcontent-typeヘッダーはapplication/octet-streamに設定されます。 -
fail_on_status_codebool (オプション)#2xxおよび3xx以外のレスポンスコードで例外をスローするかどうか。デフォルトでは、すべてのステータスコードでレスポンスオブジェクトが返されます。
-
formDict[str, str | float | bool] (オプション)追加バージョン: v1.17#application/x-www-form-urlencodedエンコーディングを使用してhtmlフォームとしてシリアル化され、このリクエストボディとして送信されるオブジェクトを提供します。このパラメータが指定されている場合、明示的に提供されない限り、content-typeヘッダーはapplication/x-www-form-urlencodedに設定されます。 -
headersDict[str, str] (オプション)#HTTPヘッダーを設定できます。これらのヘッダーは、取得されたリクエストおよびそれによって開始されたすべてのリダイレクトに適用されます。
-
ignore_https_errorsbool (オプション)#ネットワークリクエストを送信する際にHTTPSエラーを無視するかどうか。デフォルトは
falseです。 -
max_redirectsint (オプション)追加バージョン: v1.26#自動的にフォローされるリクエストのリダイレクトの最大数。この数を超えるとエラーがスローされます。デフォルトは
20です。リダイレクトをフォローしない場合は0を渡します。 -
max_retriesint (オプション)追加バージョン: v1.46#ネットワークエラーが再試行される最大回数。現在、
ECONNRESETエラーのみが再試行されます。HTTP応答コードに基づく再試行は行われません。制限を超えるとエラーがスローされます。デフォルトは0(再試行なし) です。 -
multipartDict[str, str | float | bool | [ReadStream] | Dict] (オプション)追加バージョン: v1.17#このリクエストボディとして送信される
multipart/form-dataエンコーディングを使用して HTML フォームとしてシリアライズされるオブジェクトを提供します。このパラメータが指定されている場合、明示的に提供されていない限りcontent-typeヘッダーはmultipart/form-dataに設定されます。ファイル値は、ファイル名、MIMEタイプ、およびそのコンテンツを含むファイルのようなオブジェクトとして渡すことができます。 -
paramsDict[str, str | float | bool] | str (オプション)#URLとともに送信されるクエリパラメータ。
-
リクエストのタイムアウト(ミリ秒単位)。デフォルトは
30000(30秒)です。タイムアウトを無効にするには0を渡します。
戻り値
dispose
追加バージョン: v1.16api_request_context.get() および同様のメソッドによって返されるすべてのレスポンスはメモリに保存されるため、後で api_response.body() を呼び出すことができます。このメソッドはすべてのリソースを破棄し、破棄された APIRequestContext 上でメソッドを呼び出すと例外がスローされます。
使用法
api_request_context.dispose()
api_request_context.dispose(**kwargs)
引数
戻り値
fetch
追加バージョン: v1.16HTTP(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またはリクエスト。
-
datastr | bytes | Dict (オプション)#リクエストのPOSTデータを設定できます。データパラメータがオブジェクトの場合、JSON文字列にシリアル化され、明示的に設定されていない限り
content-typeヘッダーはapplication/jsonに設定されます。それ以外の場合、明示的に設定されていない限りcontent-typeヘッダーはapplication/octet-streamに設定されます。 -
fail_on_status_codebool (オプション)#2xxおよび3xx以外のレスポンスコードで例外をスローするかどうか。デフォルトでは、すべてのステータスコードでレスポンスオブジェクトが返されます。
-
formDict[str, str | float | bool] (オプション)#application/x-www-form-urlencodedエンコーディングを使用してhtmlフォームとしてシリアル化され、このリクエストボディとして送信されるオブジェクトを提供します。このパラメータが指定されている場合、明示的に提供されない限り、content-typeヘッダーはapplication/x-www-form-urlencodedに設定されます。 -
headersDict[str, str] (オプション)#HTTPヘッダーを設定できます。これらのヘッダーは、取得されたリクエストおよびそれによって開始されたすべてのリダイレクトに適用されます。
-
ignore_https_errorsbool (オプション)#ネットワークリクエストを送信する際にHTTPSエラーを無視するかどうか。デフォルトは
falseです。 -
max_redirectsint (オプション)追加バージョン: v1.26#自動的にフォローされるリクエストのリダイレクトの最大数。この数を超えるとエラーがスローされます。デフォルトは
20です。リダイレクトをフォローしない場合は0を渡します。 -
max_retriesint (オプション)追加バージョン: v1.46#ネットワークエラーが再試行される最大回数。現在、
ECONNRESETエラーのみが再試行されます。HTTP応答コードに基づく再試行は行われません。制限を超えるとエラーがスローされます。デフォルトは0(再試行なし) です。 -
設定されている場合、フェッチメソッドを変更します(例:PUTまたはPOST)。指定されていない場合、GETメソッドが使用されます。
-
multipartDict[str, str | float | bool | [ReadStream] | Dict] (オプション)#このリクエストボディとして送信される
multipart/form-dataエンコーディングを使用して HTML フォームとしてシリアライズされるオブジェクトを提供します。このパラメータが指定されている場合、明示的に提供されていない限りcontent-typeヘッダーはmultipart/form-dataに設定されます。ファイル値は、ファイル名、MIMEタイプ、およびそのコンテンツを含むファイルのようなオブジェクトとして渡すことができます。 -
paramsDict[str, str | float | bool] | str (オプション)#URLとともに送信されるクエリパラメータ。
-
リクエストのタイムアウト(ミリ秒単位)。デフォルトは
30000(30秒)です。タイムアウトを無効にするには0を渡します。
戻り値
get
追加バージョン: v1.16HTTP(S) GETリクエストを送信し、そのレスポンスを返します。このメソッドは、コンテキストからリクエストのクッキーを設定し、レスポンスからコンテキストのクッキーを更新します。このメソッドは自動的にリダイレクトを追跡します。
使用法
リクエストパラメータはparamsオプションで設定でき、URL検索パラメータにシリアル化されます。
query_params = {
"isbn": "1234",
"page": "23"
}
api_request_context.get("https://example.com/api/getText", params=query_params)
引数
-
ターゲットURL。
-
datastr | bytes | Dict (オプション)追加バージョン: v1.26#リクエストのPOSTデータを設定できます。データパラメータがオブジェクトの場合、JSON文字列にシリアル化され、明示的に設定されていない限り
content-typeヘッダーはapplication/jsonに設定されます。それ以外の場合、明示的に設定されていない限りcontent-typeヘッダーはapplication/octet-streamに設定されます。 -
fail_on_status_codebool (オプション)#2xxおよび3xx以外のレスポンスコードで例外をスローするかどうか。デフォルトでは、すべてのステータスコードでレスポンスオブジェクトが返されます。
-
formDict[str, str | float | bool] (オプション)追加バージョン: v1.26#application/x-www-form-urlencodedエンコーディングを使用してhtmlフォームとしてシリアル化され、このリクエストボディとして送信されるオブジェクトを提供します。このパラメータが指定されている場合、明示的に提供されない限り、content-typeヘッダーはapplication/x-www-form-urlencodedに設定されます。 -
headersDict[str, str] (オプション)#HTTPヘッダーを設定できます。これらのヘッダーは、取得されたリクエストおよびそれによって開始されたすべてのリダイレクトに適用されます。
-
ignore_https_errorsbool (オプション)#ネットワークリクエストを送信する際にHTTPSエラーを無視するかどうか。デフォルトは
falseです。 -
max_redirectsint (オプション)追加バージョン: v1.26#自動的にフォローされるリクエストのリダイレクトの最大数。この数を超えるとエラーがスローされます。デフォルトは
20です。リダイレクトをフォローしない場合は0を渡します。 -
max_retriesint (オプション)追加バージョン: v1.46#ネットワークエラーが再試行される最大回数。現在、
ECONNRESETエラーのみが再試行されます。HTTP応答コードに基づく再試行は行われません。制限を超えるとエラーがスローされます。デフォルトは0(再試行なし) です。 -
multipartDict[str, str | float | bool | [ReadStream] | Dict] (オプション)追加バージョン: v1.26#このリクエストボディとして送信される
multipart/form-dataエンコーディングを使用して HTML フォームとしてシリアライズされるオブジェクトを提供します。このパラメータが指定されている場合、明示的に提供されていない限りcontent-typeヘッダーはmultipart/form-dataに設定されます。ファイル値は、ファイル名、MIMEタイプ、およびそのコンテンツを含むファイルのようなオブジェクトとして渡すことができます。 -
paramsDict[str, str | float | bool] | str (オプション)#URLとともに送信されるクエリパラメータ。
-
リクエストのタイムアウト(ミリ秒単位)。デフォルトは
30000(30秒)です。タイムアウトを無効にするには0を渡します。
戻り値
head
追加バージョン: v1.16HTTP(S) HEADリクエストを送信し、そのレスポンスを返します。このメソッドは、コンテキストからリクエストのクッキーを設定し、レスポンスからコンテキストのクッキーを更新します。このメソッドは自動的にリダイレクトを追跡します。
使用法
api_request_context.head(url)
api_request_context.head(url, **kwargs)
引数
-
ターゲットURL。
-
datastr | bytes | Dict (オプション)追加バージョン: v1.26#リクエストのPOSTデータを設定できます。データパラメータがオブジェクトの場合、JSON文字列にシリアル化され、明示的に設定されていない限り
content-typeヘッダーはapplication/jsonに設定されます。それ以外の場合、明示的に設定されていない限りcontent-typeヘッダーはapplication/octet-streamに設定されます。 -
fail_on_status_codebool (オプション)#2xxおよび3xx以外のレスポンスコードで例外をスローするかどうか。デフォルトでは、すべてのステータスコードでレスポンスオブジェクトが返されます。
-
formDict[str, str | float | bool] (オプション)追加バージョン: v1.26#application/x-www-form-urlencodedエンコーディングを使用してhtmlフォームとしてシリアル化され、このリクエストボディとして送信されるオブジェクトを提供します。このパラメータが指定されている場合、明示的に提供されない限り、content-typeヘッダーはapplication/x-www-form-urlencodedに設定されます。 -
headersDict[str, str] (オプション)#HTTPヘッダーを設定できます。これらのヘッダーは、取得されたリクエストおよびそれによって開始されたすべてのリダイレクトに適用されます。
-
ignore_https_errorsbool (オプション)#ネットワークリクエストを送信する際にHTTPSエラーを無視するかどうか。デフォルトは
falseです。 -
max_redirectsint (オプション)追加バージョン: v1.26#自動的にフォローされるリクエストのリダイレクトの最大数。この数を超えるとエラーがスローされます。デフォルトは
20です。リダイレクトをフォローしない場合は0を渡します。 -
max_retriesint (オプション)追加バージョン: v1.46#ネットワークエラーが再試行される最大回数。現在、
ECONNRESETエラーのみが再試行されます。HTTP応答コードに基づく再試行は行われません。制限を超えるとエラーがスローされます。デフォルトは0(再試行なし) です。 -
multipartDict[str, str | float | bool | [ReadStream] | Dict] (オプション)追加バージョン: v1.26#このリクエストボディとして送信される
multipart/form-dataエンコーディングを使用して HTML フォームとしてシリアライズされるオブジェクトを提供します。このパラメータが指定されている場合、明示的に提供されていない限りcontent-typeヘッダーはmultipart/form-dataに設定されます。ファイル値は、ファイル名、MIMEタイプ、およびそのコンテンツを含むファイルのようなオブジェクトとして渡すことができます。 -
paramsDict[str, str | float | bool] | str (オプション)#URLとともに送信されるクエリパラメータ。
-
リクエストのタイムアウト(ミリ秒単位)。デフォルトは
30000(30秒)です。タイムアウトを無効にするには0を渡します。
戻り値
patch
追加バージョン: v1.16HTTP(S) PATCHリクエストを送信し、そのレスポンスを返します。このメソッドは、コンテキストからリクエストのクッキーを設定し、レスポンスからコンテキストのクッキーを更新します。このメソッドは自動的にリダイレクトを追跡します。
使用法
api_request_context.patch(url)
api_request_context.patch(url, **kwargs)
引数
-
ターゲットURL。
-
datastr | bytes | Dict (オプション)#リクエストのPOSTデータを設定できます。データパラメータがオブジェクトの場合、JSON文字列にシリアル化され、明示的に設定されていない限り
content-typeヘッダーはapplication/jsonに設定されます。それ以外の場合、明示的に設定されていない限りcontent-typeヘッダーはapplication/octet-streamに設定されます。 -
fail_on_status_codebool (オプション)#2xxおよび3xx以外のレスポンスコードで例外をスローするかどうか。デフォルトでは、すべてのステータスコードでレスポンスオブジェクトが返されます。
-
formDict[str, str | float | bool] (オプション)#application/x-www-form-urlencodedエンコーディングを使用してhtmlフォームとしてシリアル化され、このリクエストボディとして送信されるオブジェクトを提供します。このパラメータが指定されている場合、明示的に提供されない限り、content-typeヘッダーはapplication/x-www-form-urlencodedに設定されます。 -
headersDict[str, str] (オプション)#HTTPヘッダーを設定できます。これらのヘッダーは、取得されたリクエストおよびそれによって開始されたすべてのリダイレクトに適用されます。
-
ignore_https_errorsbool (オプション)#ネットワークリクエストを送信する際にHTTPSエラーを無視するかどうか。デフォルトは
falseです。 -
max_redirectsint (オプション)追加バージョン: v1.26#自動的にフォローされるリクエストのリダイレクトの最大数。この数を超えるとエラーがスローされます。デフォルトは
20です。リダイレクトをフォローしない場合は0を渡します。 -
max_retriesint (オプション)追加バージョン: v1.46#ネットワークエラーが再試行される最大回数。現在、
ECONNRESETエラーのみが再試行されます。HTTP応答コードに基づく再試行は行われません。制限を超えるとエラーがスローされます。デフォルトは0(再試行なし) です。 -
multipartDict[str, str | float | bool | [ReadStream] | Dict] (オプション)#このリクエストボディとして送信される
multipart/form-dataエンコーディングを使用して HTML フォームとしてシリアライズされるオブジェクトを提供します。このパラメータが指定されている場合、明示的に提供されていない限りcontent-typeヘッダーはmultipart/form-dataに設定されます。ファイル値は、ファイル名、MIMEタイプ、およびそのコンテンツを含むファイルのようなオブジェクトとして渡すことができます。 -
paramsDict[str, str | float | bool] | str (オプション)#URLとともに送信されるクエリパラメータ。
-
リクエストのタイムアウト(ミリ秒単位)。デフォルトは
30000(30秒)です。タイムアウトを無効にするには0を渡します。
戻り値
post
追加バージョン: v1.16HTTP(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。
-
datastr | bytes | Dict (オプション)#リクエストのPOSTデータを設定できます。データパラメータがオブジェクトの場合、JSON文字列にシリアル化され、明示的に設定されていない限り
content-typeヘッダーはapplication/jsonに設定されます。それ以外の場合、明示的に設定されていない限りcontent-typeヘッダーはapplication/octet-streamに設定されます。 -
fail_on_status_codebool (オプション)#2xxおよび3xx以外のレスポンスコードで例外をスローするかどうか。デフォルトでは、すべてのステータスコードでレスポンスオブジェクトが返されます。
-
formDict[str, str | float | bool] (オプション)#application/x-www-form-urlencodedエンコーディングを使用してhtmlフォームとしてシリアル化され、このリクエストボディとして送信されるオブジェクトを提供します。このパラメータが指定されている場合、明示的に提供されない限り、content-typeヘッダーはapplication/x-www-form-urlencodedに設定されます。 -
headersDict[str, str] (オプション)#HTTPヘッダーを設定できます。これらのヘッダーは、取得されたリクエストおよびそれによって開始されたすべてのリダイレクトに適用されます。
-
ignore_https_errorsbool (オプション)#ネットワークリクエストを送信する際にHTTPSエラーを無視するかどうか。デフォルトは
falseです。 -
max_redirectsint (オプション)追加バージョン: v1.26#自動的にフォローされるリクエストのリダイレクトの最大数。この数を超えるとエラーがスローされます。デフォルトは
20です。リダイレクトをフォローしない場合は0を渡します。 -
max_retriesint (オプション)追加バージョン: v1.46#ネットワークエラーが再試行される最大回数。現在、
ECONNRESETエラーのみが再試行されます。HTTP応答コードに基づく再試行は行われません。制限を超えるとエラーがスローされます。デフォルトは0(再試行なし) です。 -
multipartDict[str, str | float | bool | [ReadStream] | Dict] (オプション)#このリクエストボディとして送信される
multipart/form-dataエンコーディングを使用して HTML フォームとしてシリアライズされるオブジェクトを提供します。このパラメータが指定されている場合、明示的に提供されていない限りcontent-typeヘッダーはmultipart/form-dataに設定されます。ファイル値は、ファイル名、MIMEタイプ、およびそのコンテンツを含むファイルのようなオブジェクトとして渡すことができます。 -
paramsDict[str, str | float | bool] | str (オプション)#URLとともに送信されるクエリパラメータ。
-
リクエストのタイムアウト(ミリ秒単位)。デフォルトは
30000(30秒)です。タイムアウトを無効にするには0を渡します。
戻り値
put
追加バージョン: v1.16HTTP(S) PUTリクエストを送信し、そのレスポンスを返します。このメソッドは、コンテキストからリクエストのクッキーを設定し、レスポンスからコンテキストのクッキーを更新します。このメソッドは自動的にリダイレクトを追跡します。
使用法
api_request_context.put(url)
api_request_context.put(url, **kwargs)
引数
-
ターゲットURL。
-
datastr | bytes | Dict (オプション)#リクエストのPOSTデータを設定できます。データパラメータがオブジェクトの場合、JSON文字列にシリアル化され、明示的に設定されていない限り
content-typeヘッダーはapplication/jsonに設定されます。それ以外の場合、明示的に設定されていない限りcontent-typeヘッダーはapplication/octet-streamに設定されます。 -
fail_on_status_codebool (オプション)#2xxおよび3xx以外のレスポンスコードで例外をスローするかどうか。デフォルトでは、すべてのステータスコードでレスポンスオブジェクトが返されます。
-
formDict[str, str | float | bool] (オプション)#application/x-www-form-urlencodedエンコーディングを使用してhtmlフォームとしてシリアル化され、このリクエストボディとして送信されるオブジェクトを提供します。このパラメータが指定されている場合、明示的に提供されない限り、content-typeヘッダーはapplication/x-www-form-urlencodedに設定されます。 -
headersDict[str, str] (オプション)#HTTPヘッダーを設定できます。これらのヘッダーは、取得されたリクエストおよびそれによって開始されたすべてのリダイレクトに適用されます。
-
ignore_https_errorsbool (オプション)#ネットワークリクエストを送信する際にHTTPSエラーを無視するかどうか。デフォルトは
falseです。 -
max_redirectsint (オプション)追加バージョン: v1.26#自動的にフォローされるリクエストのリダイレクトの最大数。この数を超えるとエラーがスローされます。デフォルトは
20です。リダイレクトをフォローしない場合は0を渡します。 -
max_retriesint (オプション)追加バージョン: v1.46#ネットワークエラーが再試行される最大回数。現在、
ECONNRESETエラーのみが再試行されます。HTTP応答コードに基づく再試行は行われません。制限を超えるとエラーがスローされます。デフォルトは0(再試行なし) です。 -
multipartDict[str, str | float | bool | [ReadStream] | Dict] (オプション)#このリクエストボディとして送信される
multipart/form-dataエンコーディングを使用して HTML フォームとしてシリアライズされるオブジェクトを提供します。このパラメータが指定されている場合、明示的に提供されていない限りcontent-typeヘッダーはmultipart/form-dataに設定されます。ファイル値は、ファイル名、MIMEタイプ、およびそのコンテンツを含むファイルのようなオブジェクトとして渡すことができます。 -
paramsDict[str, str | float | bool] | str (オプション)#URLとともに送信されるクエリパラメータ。
-
リクエストのタイムアウト(ミリ秒単位)。デフォルトは
30000(30秒)です。タイムアウトを無効にするには0を渡します。
戻り値
storage_state
追加バージョン: v1.16このリクエストコンテキストのストレージ状態を返します。コンストラクタに渡された場合、現在のクッキーとローカルストレージのスナップショットが含まれます。
使用法
api_request_context.storage_state()
api_request_context.storage_state(**kwargs)
引数
-
indexed_dbbool (オプション)追加バージョン: v1.51#ストレージ状態のスナップショットにIndexedDBを含めるには、
trueに設定します。 -
pathUnion[str, pathlib.Path] (オプション)#ストレージの状態を保存するファイルパス。 path が相対パスの場合、現在の作業ディレクトリを基準に解決されます。パスが提供されない場合でもストレージの状態は返されますが、ディスクには保存されません。
戻り値