APIRequest
提供用于 Web API 测试的 API。本类用于创建 APIRequestContext 实例,进而可用于发送 Web 请求。可以通过 playwright.request 获取该类的实例。更多信息请参见 APIRequestContext。
方法
new_context
新增于: v1.16创建新的 APIRequestContext 实例。
用法
api_request.new_context()
api_request.new_context(**kwargs)
参数说明
-
类似 api_request_context.get() 的方法会通过
URL()
构造函数来拼接对应的 URL,从而考虑 base URL。例如:- baseURL:
http://localhost:3000
,发送请求到/bar.html
,结果为http://localhost:3000/bar.html
- baseURL:
http://localhost:3000/foo/
,发送请求到./bar.html
,结果为http://localhost:3000/foo/bar.html
- baseURL:
http://localhost:3000/foo
(无斜杠),发送请求到./bar.html
,结果为http://localhost:3000/bar.html
- baseURL:
-
client_certificates
List[Dict] (可选) 新增于: 1.46#-
origin
str证书有效的精确 origin。origin 包含
https
协议、主机名以及可选的端口。 -
certPath
Union[str, pathlib.Path] (可选)PEM 格式证书文件的路径。
-
cert
bytes (可选)PEM 格式证书的直接内容。
-
keyPath
Union[str, pathlib.Path] (可选)PEM 格式私钥文件的路径。
-
key
bytes (可选)PEM 格式私钥的直接内容。
-
pfxPath
Union[str, pathlib.Path] (可选)PFX 或 PKCS12 编码的私钥和证书链文件路径。
-
pfx
bytes (可选)PFX 或 PKCS12 编码的私钥和证书链的直接内容。
-
passphrase
str (可选)私钥(PEM 或 PFX)的密码。
TLS 客户端认证允许服务器请求客户端证书并进行验证。
详细说明
要使用的客户端证书数组。每个证书对象必须同时包含
certPath
和keyPath
,或仅包含一个pfxPath
,或它们对应的直接值(cert
和key
,或pfx
)。如果证书已加密,可选地提供passphrase
属性。origin
属性应与请求的 origin 完全匹配。备注在 macOS 上使用 WebKit 时,访问
localhost
不会加载客户端证书。你可以将localhost
替换为local.playwright
以解决此问题。 -
-
extra_http_headers
Dict[str, str] (可选)#包含每个请求要发送的额外 HTTP 头的对象。默认为无。
-
fail_on_status_code
bool (可选) 新增于: v1.51#是否在响应码不是 2xx 或 3xx 时抛出异常。默认情况下,所有状态码都会返回响应对象。
-
-
username
str -
password
str -
origin
str (可选)限定仅在特定 origin(scheme://host:port)上发送 http 认证信息。
-
send
"unauthorized" | "always" (可选)此选项仅适用于通过对应 APIRequestContext 发送的请求,不影响浏览器发出的请求。
'always'
- 每个 API 请求都会携带带有基本认证信息的Authorization
头。'unauthorized'
- 仅在收到带有WWW-Authenticate
头的 401(未授权)响应时发送认证信息。默认为'unauthorized'
。
HTTP 认证 的凭据。如果未指定 origin,用户名和密码将在收到未授权响应时发送到任意服务器。
-
-
ignore_https_errors
bool (可选)#发送网络请求时是否忽略 HTTPS 错误。默认为
false
。 -
max_redirects
int (可选) 新增于: v1.52#自动跟随的最大重定向次数。超过该次数会抛出错误。默认为
20
。传递0
表示不跟随重定向。每个请求可单独覆盖此设置。 -
-
server
str所有请求使用的代理。支持 HTTP 和 SOCKS 代理,例如
http://myproxy.com:3128
或socks5://myproxy.com:3128
。简写myproxy.com:3128
被视为 HTTP 代理。 -
bypass
str (可选)可选,逗号分隔的域名列表,表示绕过代理,例如
".com, chromium.org, .domain.com"
。 -
username
str (可选)如果 HTTP 代理需要认证,可选的用户名。
-
password
str (可选)如果 HTTP 代理需要认证,可选的密码。
网络代理设置。
-
-
storage_state
Union[str, pathlib.Path] | Dict (可选)#使用给定的存储状态初始化上下文。此选项可用于通过 browser_context.storage_state() 或 api_request_context.storage_state() 获取的已登录信息初始化上下文。可以是保存的存储文件路径,也可以是 browser_context.storage_state() 或 api_request_context.storage_state() 方法返回的值。
-
等待响应的最大时间(毫秒)。默认为
30000
(30 秒)。传递0
表示禁用超时。 -
在此上下文中使用的特定 User-Agent。
返回值