APIResponse
APIResponse class represents responses returned by api_request_context.get() and similar methods.
- Sync
- Async
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())
Methods
body
Added in: v1.16Returns the buffer with response body.
Usage
api_response.body()
Returns
dispose
Added in: v1.16Disposes the body of this response. If not called then the body will stay in memory until the context closes.
Usage
api_response.dispose()
Returns
json
Added in: v1.16Returns the JSON representation of response body.
This method will throw if the response body is not parsable via JSON.parse
.
Usage
api_response.json()
Returns
text
Added in: v1.16Returns the text representation of response body.
Usage
api_response.text()
Returns
Properties
headers
Added in: v1.16An object with all the response HTTP headers associated with this response.
Usage
api_response.headers
Returns
headers_array
Added in: v1.16An array with all the response HTTP headers associated with this response. Header names are not lower-cased. Headers with multiple entries, such as Set-Cookie
, appear in the array multiple times.
Usage
api_response.headers_array
Returns
ok
Added in: v1.16Contains a boolean stating whether the response was successful (status in the range 200-299) or not.
Usage
api_response.ok
Returns
status
Added in: v1.16Contains the status code of the response (e.g., 200 for a success).
Usage
api_response.status
Returns
status_text
Added in: v1.16Contains the status text of the response (e.g. usually an "OK" for a success).
Usage
api_response.status_text
Returns
url
Added in: v1.16Contains the URL of the response.
Usage
api_response.url
Returns