APIResponse
APIResponse 類別代表由 api_request_context.get() 和類似方法傳回的回應。
- 同步
- 非同步
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
context = playwright.request.new_context()
response = context.get("https://example.com/user/repos")
assert response.ok
assert response.status == 200
assert response.headers["content-type"] == "application/json; charset=utf-8"
assert response.json()["name"] == "foobar"
assert response.body() == '{"status": "ok"}'
import asyncio
from playwright.async_api import async_playwright, Playwright
async def run(playwright: Playwright):
context = await playwright.request.new_context()
response = await context.get("https://example.com/user/repos")
assert response.ok
assert response.status == 200
assert response.headers["content-type"] == "application/json; charset=utf-8"
assert response.json()["name"] == "foobar"
assert await response.body() == '{"status": "ok"}'
async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
方法
body
新增於:v1.16傳回包含回應 body 的 buffer。
用法
api_response.body()
傳回
dispose
新增於:v1.16處置此回應的 body。如果未呼叫,body 將會保留在記憶體中直到 context 關閉。
用法
api_response.dispose()
傳回
json
新增於:v1.16傳回回應 body 的 JSON 表示法。
如果回應 body 無法透過 JSON.parse
解析,此方法將會拋出錯誤。
用法
api_response.json()
傳回
text
新增於:v1.16傳回回應 body 的文字表示法。
用法
api_response.text()
傳回
屬性
headers
新增於:v1.16包含與此回應相關聯的所有回應 HTTP 標頭的物件。
用法
api_response.headers
傳回
headers_array
新增於:v1.16包含與此回應相關聯的所有回應 HTTP 標頭的陣列。標頭名稱不會轉換為小寫。具有多個條目的標頭,例如 Set-Cookie
,會在陣列中多次出現。
用法
api_response.headers_array
傳回
ok
新增於:v1.16包含一個布林值,指出回應是否成功(狀態碼在 200-299 範圍內)。
用法
api_response.ok
傳回
status
新增於:v1.16包含回應的狀態碼(例如,成功時為 200)。
用法
api_response.status
傳回
status_text
新增於:v1.16包含回應的狀態文字(例如,成功時通常為 "OK")。
用法
api_response.status_text
傳回
url
新增於:v1.16包含回應的 URL。
用法
api_response.url
傳回