Playwright:代理认证与协议如何选择

更新于 2026-09-21

区分 HTTP 认证和 SOCKS5 支持,避免将带密码的 S5 直接配置给浏览器。

适用产品
住宅独享 IP / 动态住宅
软件
Playwright
设备 / 系统
Windows、macOS、Linux
应用场景
网站地区测试
适用范围
Playwright 浏览器代理配置;HTTP(S) 认证与 SOCKSv5 分开核验
文档核验
2026-09-21

先确认协议

Playwright 官方支持为浏览器或上下文配置 HTTP(S) 与 SOCKSv5 代理,但文档明确列出的 username/password 认证用于 HTTP(S)。不能据此认为带账号密码的 SOCKS5 在所有浏览器内核上都能直接使用。

使用 HTTP 代理认证

仅当你的商品确实提供 HTTP 接入方式时使用此配置。先从交付页或动态生成页面选择 HTTP(S),不要只把 SOCKS5 URL 的前缀改成 http 并猜测端口。

import { chromium } from 'playwright';
const { SF_HTTP_PROXY: server, SF_PROXY_USER: username,
  SF_PROXY_PASSWORD: password } = process.env;
if (!server || !username || !password) throw new Error('缺少 HTTP 代理配置');
const browser = await chromium.launch({
  proxy: { server, username, password }
});
try {
  const page = await browser.newPage();
  await page.goto('https://api.ipify.org', { timeout: 30000 });
  console.log(await page.locator('body').innerText());
} finally {
  await browser.close();
}

SF_HTTP_PROXY 应为商品提供的 http://接入地址:接入端口;账号密码通过运行环境提供。

只有带认证的 SOCKS5 时

选用明确支持该认证方式的客户端,或经过验证的本机代理转接方案。转接服务只监听本机并妥善保存认证信息,不能开放成无认证的公网代理。

验证与排查

先访问出口查询页,再访问自己的测试站点。浏览器能启动但连接失败时,检查协议、端口和认证能力;目标网站拒绝请求时,查看页面状态,不要直接判断是 IP 失效。

参考文档

Playwright 官方:网络与代理 ↗Chromium 官方:代理协议与认证 ↗

这篇文章解决了你的问题吗?