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_certificatesList[Dict] (可选) 新增于: 1.46#-
originstr证书有效的精确 origin。origin 包含
https协议、主机名以及可选的端口。 -
certPathUnion[str, pathlib.Path] (可选)PEM 格式证书文件的路径。
-
certbytes (可选)PEM 格式证书的直接内容。
-
keyPathUnion[str, pathlib.Path] (可选)PEM 格式私钥文件的路径。
-
keybytes (可选)PEM 格式私钥的直接内容。
-
pfxPathUnion[str, pathlib.Path] (可选)PFX 或 PKCS12 编码的私钥和证书链文件路径。
-
pfxbytes (可选)PFX 或 PKCS12 编码的私钥和证书链的直接内容。
-
passphrasestr (可选)私钥(PEM 或 PFX)的密码。
TLS 客户端认证允许服务器请求客户端证书并进行验证。
详细说明
要使用的客户端证书数组。每个证书对象必须同时包含
certPath和keyPath,或仅包含一个pfxPath,或它们对应的直接值(cert和key,或pfx)。如果证书已加密,可选地提供passphrase属性。origin属性应与请求的 origin 完全匹配。备注在 macOS 上使用 WebKit 时,访问
localhost不会加载客户端证书。你可以将localhost替换为local.playwright以解决此问题。 -
-
extra_http_headersDict[str, str] (可选)#包含每个请求要发送的额外 HTTP 头的对象。默认为无。
-
fail_on_status_codebool (可选) 新增于: v1.51#是否在响应码不是 2xx 或 3xx 时抛出异常。默认情况下,所有状态码都会返回响应对象。
-
-
usernamestr -
passwordstr -
originstr (可选)限定仅在特定 origin(scheme://host:port)上发送 http 认证信息。
-
send"unauthorized" | "always" (可选)此选项仅适用于通过对应 APIRequestContext 发送的请求,不影响浏览器发出的请求。
'always'- 每个 API 请求都会携带带有基本认证信息的Authorization头。'unauthorized'- 仅在收到带有WWW-Authenticate头的 401(未授权)响应时发送认证信息。默认为'unauthorized'。
HTTP 认证 的凭据。如果未指定 origin,用户名和密码将在收到未授权响应时发送到任意服务器。
-
-
ignore_https_errorsbool (可选)#发送网络请求时是否忽略 HTTPS 错误。默认为
false。 -
max_redirectsint (可选) 新增于: v1.52#自动跟随的最大重定向次数。超过该次数会抛出错误。默认为
20。传递0表示不跟随重定向。每个请求可单独覆盖此设置。 -
-
serverstr所有请求使用的代理。支持 HTTP 和 SOCKS 代理,例如
http://myproxy.com:3128或socks5://myproxy.com:3128。简写myproxy.com:3128被视为 HTTP 代理。 -
bypassstr (可选)可选,逗号分隔的域名列表,表示绕过代理,例如
".com, chromium.org, .domain.com"。 -
usernamestr (可选)如果 HTTP 代理需要认证,可选的用户名。
-
passwordstr (可选)如果 HTTP 代理需要认证,可选的密码。
网络代理设置。
-
-
storage_stateUnion[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。
返回值