如何在Playwright启动时注入SOCKS5代理的认证凭据?
Playwright Chromium 配置带认证的SOCKS5代理解决方案
Chromium 不支持在代理URL中直接嵌入用户名和密码的认证方式,这是触发net::ERR_PROXY_AUTH_UNSUPPORTED错误的核心原因。Playwright提供了专门的配置字段来传递代理认证凭据,无需将信息嵌入到代理地址中。
正确配置方法
在chromium.launch()的proxy参数里,拆分配置三个字段:
server:仅填写SOCKS5代理的地址和端口,格式为socks5://proxy-address:portusername:代理认证的用户名password:代理认证的密码
修改后的可运行代码
const { chromium } = require('playwright'); (async () => { // 正确的代理配置方式 const browser = await chromium.launch({ proxy: { server: 'socks5://proxy-address:port', username: 'your-username', password: 'your-password' } }); const page = await browser.newPage(); try { await page.goto('https://example.com'); console.log('页面加载成功,当前IP:', await page.evaluate(() => fetch('https://api.ipify.org').then(res => res.text()))); } catch (e) { console.error(e.message); } await browser.close(); })();
注意事项
- 确保
server字段的格式正确,必须以socks5://开头,不要遗漏协议前缀 - 确认代理服务本身正常运行,且用户名、密码与本地浏览器测试时一致
- 该配置方式同时适用于有头和无头模式的Chromium启动
内容的提问来源于stack exchange,提问作者Anthony Steenhoven




