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

new_context

Added in: v1.16 apiRequest.new_context

创建新的 APIRequestContext 实例。

🌐 Creates new instances of APIRequestContext.

用法

api_request.new_context()
api_request.new_context(**kwargs)

参数

  • base_url str (optional)#

    api_request_context.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
  • client_certificates List[Dict] (optional) Added in: 1.46#

    • origin str

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

    • certPath Union[str, pathlib.Path] (optional)

      PEM 格式的证书文件路径。

    • cert bytes (optional)

      PEM 格式的证书的直接值。

    • keyPath Union[str, pathlib.Path] (optional)

      PEM 格式的私钥文件路径。

    • key bytes (optional)

      PEM 格式的私钥的直接值。

    • pfxPath Union[str, pathlib.Path] (optional)

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

    • pfx bytes (optional)

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

    • passphrase str (optional)

      私钥的密码(PEM 或 PFX)。

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

    详情

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

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

    note

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

  • extra_http_headers Dict[str, str] (optional)#

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

  • fail_on_status_code bool (optional) Added in: v1.51#

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

  • http_credentials Dict (optional)#

    • username str

    • password str

    • origin str (optional)

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

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

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

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

  • ignore_https_errors bool (optional)#

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

  • max_redirects int (optional) Added in: v1.52#

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

  • proxy Dict (optional)#

    • server str

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

    • bypass str (optional)

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

    • username str (optional)

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

    • password str (optional)

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

    网络代理设置。

  • storage_state Union[str, pathlib.Path] | Dict (optional)#

    用给定的存储状态填充上下文。该选项可用于初始化通过[browser_context.storage_state()](/api/class-browsercontext.mdx#browser-context-storage-state)或[api_request_context.storage_state()](/api/class-apirequestcontext.mdx#api-request-context-storage-state)获得的登录信息。要么是指向已保存存储的文件路径,要么是通过 [browser_context.storage_state()](/api/class-browsercontext.mdx#browser-context-storage-state) 或 [api_request_context.storage_state()](/api/class-apirequestcontext.mdx#api-request-context-storage-state) 方法返回的值。

  • timeout float (optional)#

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

  • user_agent str (optional)#

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

返回