跳至主要内容

APIRequest

公开可用于 Web API 测试的 API。此类用于创建APIRequestContext 实例,该实例可用于发送 Web 请求。可以通过playwright.request获取此类的实例。有关更多信息,请参阅APIRequestContext


方法

newContext

新增于:v1.16 apiRequest.newContext

创建APIRequestContext的新实例。

用法

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

参数

  • options 对象 (可选)
    • baseURL 字符串 (可选)#

      诸如apiRequestContext.get()之类的方法会考虑基本 URL,方法是使用URL()构造函数构建相应的 URL。示例

      • baseURL:https://127.0.0.1:3000 并向/bar.html发送请求,结果为https://127.0.0.1:3000/bar.html
      • baseURL:https://127.0.0.1:3000/foo/ 并向./bar.html发送请求,结果为https://127.0.0.1:3000/foo/bar.html
      • baseURL:https://127.0.0.1:3000/foo(无尾部斜杠)并导航到./bar.html,结果为https://127.0.0.1:3000/bar.html
    • clientCertificates 数组<对象> (可选)新增于:1.46#

      • origin 字符串

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

      • certPath 字符串 (可选)

        PEM 格式证书文件的路径。

      • cert 缓冲区 (可选)

        PEM 格式证书的直接值。

      • keyPath 字符串 (可选)

        PEM 格式私钥文件的路径。

      • key 缓冲区 (可选)

        PEM 格式私钥的直接值。

      • pfxPath 字符串 (可选)

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

      • pfx 缓冲区 (可选)

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

      • passphrase 字符串 (可选)

        私钥(PEM 或 PFX)的密码。

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

      详情

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

      注意

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

    • extraHTTPHeaders 对象<字符串, 字符串> (可选)#

      包含要与每个请求一起发送的其他 HTTP 标头的对象。默认为无。

    • httpCredentials 对象 (可选)#

      • username 字符串

      • password 字符串

      • origin 字符串 (可选)

        限制在特定来源(方案://主机:端口)上发送 HTTP 凭据).

      • send "unauthorized" | "always" (可选)

        此选项仅适用于从相应的APIRequestContext发送的请求,不影响从浏览器发送的请求。'always' - 每个 API 请求都将发送带有基本身份验证凭据的Authorization标头。'unauthorized - 仅在收到带有WWW-Authenticate标头的 401(未授权)响应时才发送凭据。默认为'unauthorized'

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

    • ignoreHTTPSErrors 布尔值 (可选)#

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

    • proxy 对象 (可选)#

      • server 字符串

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

      • bypass 字符串 (可选)

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

      • username 字符串 (可选)

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

      • password 字符串 (可选)

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

      网络代理设置。

    • storageState 字符串 | 对象 (可选)#

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

    • timeout 数字 (可选)#

      等待响应的最大时间(毫秒)。默认为 30000(30 秒)。传递 0 以禁用超时。

    • userAgent 字符串 (可选)#

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

返回值