Playwright 1.63 支持多来源 HTTP 凭据:必须与代理认证分离

Microsoft 于 2026 年 9 月 4 日发布 Playwright 1.63。浏览器上下文的 httpCredentials 现在可接受数组:首先匹配请求来源的条目会被选中,没有来源的条目可匹配任意请求。

浏览器请求经过彼此分离的地区代理网关,前往全球互联网中的认证来源服务器

这对跨多个 HTTP 认证来源的获准自动化很有价值;若同一上下文还使用认证代理,则更需要回归测试。来源 HTTP 凭据与代理凭据处理不同挑战、交给不同对端,不能放进同一凭据池。

公开来源说明:Microsoft Playwright,《Playwright v1.63.0》,发布于 2026 年 9 月 4 日;Microsoft Playwright,Browser API 参考,复核于 2026 年 9 月 10 日。

这次更新改变了什么

过去一个上下文接收一个 httpCredentials 对象。1.63 还允许有序凭据数组,每项可包含用户名、密码及准确来源。Playwright 使用第一个匹配来源的条目;不写来源的条目相当于宽泛后备。

该版本还允许 codegen 针对 HTTP 认证页面录制。便利性不会改变安全边界:生成代码及录制产物在保存、分享前仍须检查秘密。

它不代表:

  • 自动处理 HTML 登录表单;
  • Cookie 或 Bearer Token 会按来源选择;
  • 代理认证被并入 httpCredentials
  • 401 与 407 可以互换;
  • 可以把密码写入源码;
  • 不检查最终来源也能安全跟随重定向。

分开两个认证平面

Playwright 为不同对端提供不同配置:proxy 负责路由,并在需要时认证代理服务;httpCredentials 处理目标来源发出的 HTTP 认证。目标通常用 401 与 WWW-Authenticate 挑战,代理通常用 407 与 Proxy-Authenticate 挑战。

不要把网站凭据放进代理字段,也不要把代理凭据放进来源条目。即使它们都是用户名和密码,也属于不同信任区。

顺序就是安全逻辑

官方说明明确采用“第一个匹配项”。因此数组顺序不是装饰,而是配置逻辑。

生产条目应声明准确来源,包括协议、主机及必要端口。无来源条目应视为例外。若受控测试确实需要后备项,把它放在最后,限制可导航目的地,并证明未批准目标无法触发它。

部署前检查最终解析配置,而不只检查模板。环境覆盖可能改变数组顺序、制造重复来源,或把准确来源替换为空值。

建立直连与代理矩阵

使用自有或获准的受控来源,至少测试:

  1. 来源 A 凭据的直连对照;
  2. 认证代理加来源 A 凭据;
  3. 认证代理加来源 B 凭据;
  4. 来源 A 使用错误网站密码;
  5. 使用错误代理密码;
  6. 来源 A 重定向到来源 B;
  7. 重定向到没有凭据规则的来源;
  8. 设计中确实存在的无来源后备;
  9. 分别使用 send 策略的 API 请求上下文;
  10. 使用相同凭据数组的普通浏览器导航。

固定浏览器构建、线路、目标、方法、请求头及会话,每次只改变一个凭据维度。

使用请求头完整性测试确认请求画像一致。分享跟踪或 HAR 前,参照HAR 凭据脱敏指南处理。

保存可归因证据

每次尝试记录:准确浏览器构建、上下文画像、线路、是否预期代理认证、来源规则编号、请求和最终来源、重定向次数、状态序列、挑战类型、命中的规则、正文摘要、断言结果和耗时。

不得记录用户名、密码、授权值、代理授权值、Cookie、Token 或客户正文。规则编号已经足以证明选择了哪个配置分支。

跟踪、截图、视频和 HAR 在检查前都应视为敏感资料。认证弹窗、请求头、地址和应用内容可能泄露比普通日志更多的信息。

按层判断故障

尚未到达来源就失败

检查线路选择、代理地址、代理凭据、隧道、DNS、TLS 和 407。更换来源 HTTP 凭据无法修复代理层故障。

直连和代理都返回来源 401

检查准确来源匹配、条目顺序、网站凭据、认证方案,以及当前是浏览器请求还是 API 请求上下文。该模式通常不指向代理。

直连成功,但代理线路收到来源 401

先证明响应确实来自相同来源。比较最终地址、重定向、正文摘要、响应头及应用路由。不同地区边缘、缓存挑战或不同后端都可能造成差异。

重定向命中错误规则

将其视为配置缺陷。重定向后的目的地是另一个来源,应独立匹配。除非必要且有边界,否则移除宽泛后备。

API 请求与页面导航不同

Playwright 文档说明 send 控制只用于相应 API 请求上下文,不影响浏览器请求。必须分开测试。

升级验收清单

  • 固定并记录准确 Playwright 与浏览器构建。
  • 盘点全部需要 HTTP 认证的目标来源。
  • 代理秘密只进入代理配置路径。
  • 网站凭据使用准确来源匹配。
  • 验证首项匹配,并拒绝重复来源。
  • 无来源后备必须最后排列且说明理由。
  • 分开测试 401 与 407。
  • 测试跨来源重定向和缺失规则。
  • 直连与代理使用相同目标输入。
  • API 请求与浏览器导航分开测试。
  • 脱敏跟踪、HAR、截图、视频、日志及 CI 输出。
  • 扩大升级前定义回滚阈值。

常见问题

httpCredentials 能配置住宅代理账号吗?

不能。代理服务器凭据应放在 Playwright 的代理配置中;httpCredentials 用于目标来源的 HTTP 认证。

是否应添加一个没有来源的默认凭据?

通常不应。它可能匹配具体规则未覆盖的请求。优先使用准确来源;必须使用时放在最后并限制可达目标。

一个上下文能否为多个网站使用不同 Basic Auth?

这正是 1.63 的新能力。生产使用前必须验证准确来源、顺序、重定向和失败行为。

send 能让浏览器导航预先发送凭据吗?

官方参考说明该控制用于相应 API 请求上下文,不影响浏览器请求,两条路径应分别测试。

合规说明

只对已获授权的系统和账号使用 HTTP 与代理凭据。不得利用代理或自动化绕过认证、地区控制、速率限制、购买限制或反欺诈机制。秘密应保存在批准的秘密管理系统中,尽量减少留存产物,并遵守隐私、合同、访问政策及地区法律。