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。
-
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#このリクエストボディとして、
multipart/form-data
エンコーディングを使用してHTMLフォームとしてシリアル化されるオブジェクトを提供します。このパラメータが指定された場合、明示的に提供されない限り、content-type
ヘッダーはmultipart/form-data
に設定されます。ファイルの値は、ファイル名、MIMEタイプ、およびそのコンテンツを含むファイルライクオブジェクトとして渡すことができます。 -
params
Dict[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またはリクエスト。
-
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
- 再試行なしです。 -
設定されている場合、フェッチメソッドを変更します(例:PUTまたはPOST)。指定されていない場合、GETメソッドが使用されます。
-
multipart
Dict[str, str | float | bool | [ReadStream] | Dict] (オプション)#このリクエストボディとして、
multipart/form-data
エンコーディングを使用してHTMLフォームとしてシリアル化されるオブジェクトを提供します。このパラメータが指定された場合、明示的に提供されない限り、content-type
ヘッダーはmultipart/form-data
に設定されます。ファイルの値は、ファイル名、MIMEタイプ、およびそのコンテンツを含むファイルライクオブジェクトとして渡すことができます。 -
params
Dict[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。
-
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#このリクエストボディとして、
multipart/form-data
エンコーディングを使用してHTMLフォームとしてシリアル化されるオブジェクトを提供します。このパラメータが指定された場合、明示的に提供されない限り、content-type
ヘッダーはmultipart/form-data
に設定されます。ファイルの値は、ファイル名、MIMEタイプ、およびそのコンテンツを含むファイルライクオブジェクトとして渡すことができます。 -
params
Dict[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。
-
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#このリクエストボディとして、
multipart/form-data
エンコーディングを使用してHTMLフォームとしてシリアル化されるオブジェクトを提供します。このパラメータが指定された場合、明示的に提供されない限り、content-type
ヘッダーはmultipart/form-data
に設定されます。ファイルの値は、ファイル名、MIMEタイプ、およびそのコンテンツを含むファイルライクオブジェクトとして渡すことができます。 -
params
Dict[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。
-
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] (オプション)#このリクエストボディとして、
multipart/form-data
エンコーディングを使用してHTMLフォームとしてシリアル化されるオブジェクトを提供します。このパラメータが指定された場合、明示的に提供されない限り、content-type
ヘッダーはmultipart/form-data
に設定されます。ファイルの値は、ファイル名、MIMEタイプ、およびそのコンテンツを含むファイルライクオブジェクトとして渡すことができます。 -
params
Dict[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。
-
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] (オプション)#このリクエストボディとして、
multipart/form-data
エンコーディングを使用してHTMLフォームとしてシリアル化されるオブジェクトを提供します。このパラメータが指定された場合、明示的に提供されない限り、content-type
ヘッダーはmultipart/form-data
に設定されます。ファイルの値は、ファイル名、MIMEタイプ、およびそのコンテンツを含むファイルライクオブジェクトとして渡すことができます。 -
params
Dict[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。
-
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] (オプション)#このリクエストボディとして、
multipart/form-data
エンコーディングを使用してHTMLフォームとしてシリアル化されるオブジェクトを提供します。このパラメータが指定された場合、明示的に提供されない限り、content-type
ヘッダーはmultipart/form-data
に設定されます。ファイルの値は、ファイル名、MIMEタイプ、およびそのコンテンツを含むファイルライクオブジェクトとして渡すことができます。 -
params
Dict[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_db
bool (オプション)追加されたバージョン: v1.51#ストレージ状態のスナップショットにIndexedDBを含めるには、
true
に設定します。 -
path
Union[str, pathlib.Path] (オプション)#ストレージ状態を保存するファイルパス。pathが相対パスの場合、現在の作業ディレクトリを基準に解決されます。パスが提供されていない場合でもストレージ状態は返されますが、ディスクには保存されません。
戻り値