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 挑战。
不要把网站凭据放进代理字段,也不要把代理凭据放进来源条目。即使它们都是用户名和密码,也属于不同信任区。
顺序就是安全逻辑
官方说明明确采用“第一个匹配项”。因此数组顺序不是装饰,而是配置逻辑。
生产条目应声明准确来源,包括协议、主机及必要端口。无来源条目应视为例外。若受控测试确实需要后备项,把它放在最后,限制可导航目的地,并证明未批准目标无法触发它。
部署前检查最终解析配置,而不只检查模板。环境覆盖可能改变数组顺序、制造重复来源,或把准确来源替换为空值。
建立直连与代理矩阵
使用自有或获准的受控来源,至少测试:
- 来源 A 凭据的直连对照;
- 认证代理加来源 A 凭据;
- 认证代理加来源 B 凭据;
- 来源 A 使用错误网站密码;
- 使用错误代理密码;
- 来源 A 重定向到来源 B;
- 重定向到没有凭据规则的来源;
- 设计中确实存在的无来源后备;
- 分别使用
send策略的 API 请求上下文; - 使用相同凭据数组的普通浏览器导航。
固定浏览器构建、线路、目标、方法、请求头及会话,每次只改变一个凭据维度。
使用请求头完整性测试确认请求画像一致。分享跟踪或 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 与代理凭据。不得利用代理或自动化绕过认证、地区控制、速率限制、购买限制或反欺诈机制。秘密应保存在批准的秘密管理系统中,尽量减少留存产物,并遵守隐私、合同、访问政策及地区法律。