Skip to main content

APIRequest

提供可用于 Web API 测试的 API。此类用于创建 APIRequestContext 实例,该实例可用于发送网络请求。可以通过 playwright.request 获取此类的实例。更多信息请参见 APIRequestContext

🌐 Exposes API that can be used for the Web API testing. This class is used for creating APIRequestContext instance which in turn can be used for sending web requests. An instance of this class can be obtained via playwright.request. For more information see APIRequestContext.


方法

🌐 Methods

newContext

Added in: v1.16 apiRequest.newContext

创建新的 APIRequestContext 实例。

🌐 Creates new instances of APIRequestContext.

用法

await apiRequest.newContext();
await apiRequest.newContext(options);

参数

  • options Object (optional)
    • baseURL string (optional)#

      apiRequestContext.get() 这样的方法在构建相应 URL 时会考虑基础 URL,并使用 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
    • clientCertificates Array<Object> (optional) Added in: 1.46#

      • origin string

        证书有效的确切来源。来源包括 https 协议、主机名以及可选的端口。

      • certPath string (optional)

        PEM 格式的证书文件路径。

      • cert Buffer (optional)

        PEM 格式的证书的直接值。

      • keyPath string (optional)

        PEM 格式的私钥文件路径。

      • key Buffer (optional)

        PEM 格式的私钥的直接值。

      • pfxPath string (optional)

        PFX 或 PKCS12 编码的私钥和证书链的路径。

      • pfx Buffer (optional)

        PFX 或 PKCS12 编码的私钥和证书链的直接值。

      • passphrase string (optional)

        私钥的密码(PEM 或 PFX)。

      TLS 客户端身份验证允许服务器请求客户端证书并对其进行验证。

      详情

      要使用的一组客户端证书。每个证书对象必须同时具有 certPathkeyPath,或者单独具有 pfxPath,或它们对应的直接值等效项(certkey,或 pfx)。如果证书是加密的,则可选择提供 passphrase 属性。origin 属性应提供与证书有效的请求来源完全匹配的值。

      客户端证书认证仅在提供至少一个客户端证书时才有效。如果你想拒绝服务器发送的所有客户端证书,你需要提供一个 origin 与你计划访问的任何域名都不匹配的客户端证书。

      note

      在 macOS 上使用 WebKit 时,访问 localhost 不会使用客户端证书。你可以通过将 localhost 替换为 local.playwright 来使其正常工作。

    • extraHTTPHeaders Object<string, string> (optional)#

      一个包含附加 HTTP 头的对象,这些头将随每个请求发送。默认为无。

    • failOnStatusCode boolean (optional) Added in: v1.51#

      是否对除了 2xx 和 3xx 之外的响应代码抛出异常。默认情况下,响应对象会返回所有状态代码。

    • httpCredentials Object (optional)#

      • username string

      • password string

      • origin string (optional)

        限制在特定来源 (scheme://host:port) 上发送 http 凭据。

      • send "unauthorized" | "always" (optional)

        此选项仅适用于从对应的 APIRequestContext 发送的请求,并不影响从浏览器发送的请求。'always' - Authorization 头信息会随每个 API 请求发送基本认证凭据。'unauthorized - 凭据仅在收到带有 WWW-Authenticate 头的 401(未授权)响应时发送。默认为 'unauthorized'

      HTTP 认证 的凭据。如果未指定来源,用户名和密码将在收到未授权响应时发送到任何服务器。

    • ignoreHTTPSErrors boolean (optional)#

      发送网络请求时是否忽略 HTTPS 错误。默认值为 false

    • maxRedirects number (optional) Added in: v1.52#

      自动跟随的最大请求重定向次数。如果超过此次数,将抛出错误。默认值为 20。传入 0 可不跟随重定向。此设置可以为每个请求单独覆盖。

    • proxy Object (optional)#

      • server string

        用于所有请求的代理。支持 HTTP 和 SOCKS 代理,例如 http://myproxy.com:3128socks5://myproxy.com:3128。简写 myproxy.com:3128 被视为 HTTP 代理。

      • bypass string (optional)

        可选的以逗号分隔的域名,用于绕过代理,例如 ".com, chromium.org, .domain.com"

      • username string (optional)

        如果 HTTP 代理需要身份验证,则使用可选的用户名。

      • password string (optional)

        如果 HTTP 代理需要身份验证,则使用可选密码。

      网络代理设置。

    • storageState string | Object (optional)#

      使用给定的存储状态填充上下文。此选项可用于使用通过 browserContext.storageState()apiRequestContext.storageState() 获取的已登录信息初始化上下文。可以是保存了存储状态的文件路径,也可以是通过 browserContext.storageState()apiRequestContext.storageState() 方法返回的值。

    • timeout number (optional)#

      等待响应的最长时间(以毫秒为单位)。默认值为 30000(30 秒)。传入 0 可禁用超时。

    • userAgent string (optional)#

      在此上下文中使用的特定用户代理。

返回