报 407 Proxy Authentication Required
检查 用户名、密码和「我的资产」里的一致吗?Chromium 里 server 是不是写成了 socks5://?
处理 重新复制连接串,地址:端口填进 server,用户名、密码分别填进 username、password,这两个字段不需要 URL 编码。
每个 Playwright 并发任务一条独立出口:测试用固定机房 IP,网站封服务器 IP 时换家庭宽带 IP。
Playwright 驱动的是真实浏览器,但每个页面请求仍然从你机器的 IP 发出。一台服务器同时跑很多上下文,网站看到的是同一个地址在干很多访客的活,常见结果是 HTTP 429(请求过多,要求你降速)或直接拦截。
Playwright 自带代理支持:可以给整个浏览器设一条,也可以给每个浏览器上下文(context)单独设,并发任务各走各的 IP。官方文档说明 HTTP 代理可以填用户名和密码。
国内开发者常踩两个坑。一是 Chromium 不支持 SOCKS5 代理认证,也不会使用写在代理设置里的账号密码,带密码的代理请用 HTTP 地址。二是国内网络无法直接连接海外代理:在 Windows / macOS 上先打开 控制台 → 连接工具 → 辅助工具;脚本跑在服务器上时,用香港、新加坡等境外服务器。
可使用方向键横向滚动,阅读完整内容。
| 比较项目 | 选择 | 原因 |
|---|---|---|
| 产品 | 静态机房代理 | 单 IP 最快最便宜,租期内固定不变,适合测试、CI 和接受服务器 IP 的网站 |
| 网站封服务器 IP 时 | 动态住宅,低价线路 | 真实家庭宽带 IP,US$1.50/GB 起,按流量付费、不按 IP 收费 |
| 买几条 IP | 一个并发任务(浏览器上下文)一条 | 各任务不再共用一个地址、一份频率限制 |
| 国家 | 目标用户所在国家;机房 IP 可选美国、加拿大、英国、德国、荷兰、日本、韩国、新加坡 | 按访客位置变化的页面和价格,要从对应国家看才准 |
| 协议 | HTTP | Chromium 不能给 SOCKS5 传密码,HTTP 在所有 Playwright 浏览器里都能认证 |
| IP 会变吗 | 机房 IP 租期内不变 | 想继续用同一条 IP,到期前在「我的资产」续费 |
下面的按钮会打开「静态机房代理」并选好「AI 与自动化」场景,付款前选好地区、租期、协议和「数量」(一次最多 100 个 IP)。
可使用方向键横向滚动,阅读完整内容。
| 比较项目 | 静态 ISP | 动态住宅 | 机房(数据中心) |
|---|---|---|---|
| 你得到什么 | 一条独享的家庭宽带 IP,租期内一直归你 | 真实家庭宽带 IP:可轮换出口,也可在指定国家或城市保持粘性会话 | 速度快的固定机房 IP,支持 HTTP / SOCKS5 |
| 价格 | 按 IP 和租期,下单页实时报价 | 低价线路 US$1.50/GB(100 GB 套餐 US$1.35/GB);优质线路 US$5.00/GB | 按 IP 和租期,单 IP 成本最低 |
| 最适合 Playwright | 需要几周都用同一 IP 的登录流程 | 采集拦截服务器 IP 的网站 | CI、端到端测试、高速批处理 |
价格以美元计。钱包充值一次,各类线路都从钱包付款;不会自动续费,想保留 IP 请在「我的资产」里续费。
国内网络无法直接连接海外代理:在 Windows / macOS 上打开 控制台 → 连接工具 → 辅助工具 并保持开启;脚本跑在服务器上时,用香港、新加坡等境外服务器。
点下面的按钮,打开「静态机房代理」(按 IP 和租期),场景已选「AI 与自动化」。在「连接配置」里选「地区」和「租期」,「协议」选 HTTP,「数量」按并发任务数填(一次最多 100 个),然后点「确认费用并生成」。
在「我的资产」点「复制」,得到「地址:端口:用户名:密码」连接串。地址和端口填进 PROXY_HOST、PROXY_PORT,用户名和密码填进 PROXY_USER、PROXY_PASS,密码不写进代码。也可以点「复制给 AI」,选 Playwright,把生成的说明交给 Cursor、Claude Code 等工具,让它帮你配好并验证出口 IP。
用下面的代码:proxy 写在 newContext() 上,一个上下文一条 IP;写在 launch() 上,整个浏览器共用一条。server 必须是 http://地址:端口。
预期结果 脚本打开 api.ipify.org,打印出的是代理 IP,不是你本机的 IP。
改用「动态住宅代理」:「线路」选「低价线路」,在「补充流量」买 1 GB 起的套餐,「出口模式」选「全球轮换」(新连接可换出口),或选「指定地区 / 保持 IP」固定在某个国家、城市。动态住宅的 HTTP 入口是 proxy.proxy302.com:2222。
可使用方向键横向滚动,阅读完整内容。
// npm i playwright then npx playwright install chromium
import { chromium } from 'playwright'
// From Proxy302 → My assets → Copy (host:port:user:password)
const { PROXY_HOST, PROXY_PORT, PROXY_USER, PROXY_PASS } = process.env
const browser = await chromium.launch()
// One proxy per browser context: each parallel worker gets its own exit IP
const context = await browser.newContext({
proxy: {
server: `http://${PROXY_HOST}:${PROXY_PORT}`, // HTTP: Chromium can't send a SOCKS5 password
username: PROXY_USER,
password: PROXY_PASS,
},
})
const page = await context.newPage()
await page.goto('https://api.ipify.org?format=json')
console.log(await page.textContent('body')) // {"ip":"..."}: the proxy's exit IP, not your server's
await browser.close()2026-10-18 用 Playwright 1.63.0 + Chromium 153 在本地带密码的代理上实测:凭据正确时页面能打开,密码错误时打不开。把检测 IP 的地址换成你的目标网站即可。
可使用方向键横向滚动,阅读完整内容。
# pip install playwright then playwright install chromium
import os
from playwright.sync_api import sync_playwright
# From Proxy302 → My assets → Copy (host:port:user:password)
proxy = {
"server": f"http://{os.environ['PROXY_HOST']}:{os.environ['PROXY_PORT']}",
"username": os.environ["PROXY_USER"],
"password": os.environ["PROXY_PASS"],
}
with sync_playwright() as p:
browser = p.chromium.launch(proxy=proxy) # or browser.new_context(proxy=proxy) per worker
page = browser.new_page()
page.goto("https://api.ipify.org?format=json")
print(page.text_content("body")) # the proxy's exit IP
browser.close()Playwright Python 版在 launch() 或 new_context() 里传同样的 proxy 字典。本段只做了语法检查,上面的 Node.js 版做了完整实测。
检查 用户名、密码和「我的资产」里的一致吗?Chromium 里 server 是不是写成了 socks5://?
处理 重新复制连接串,地址:端口填进 server,用户名、密码分别填进 username、password,这两个字段不需要 URL 编码。
检查 辅助工具开着吗?在同一台机器上运行 curl -x http://用户名:密码@地址:端口 https://api.ipify.org 能通吗?
处理 国内网络先开辅助工具;curl 也不通时,检查本机防火墙或服务器出站规则,或换境外服务器运行。
检查 proxy 设在打开页面的那个上下文上了吗?目标域名在 bypass 里吗?
处理 把 proxy 加到对应的 newContext()(或 launch()),并从 bypass 里删掉该域名。
检查 是不是好几个上下文共用一条 IP?页面打开得太快?
处理 一个上下文一条 IP,放慢速度,或把这个网站换到动态住宅。
在 launch() 或 newContext() 里传 proxy:{ server, username, password }。Node.js、Python、Java、.NET 的写法一致。
Playwright 接受 socks5:// 地址,但 Chromium 不支持 SOCKS5 认证。带账号密码的 Proxy302 代理,请用它的 HTTP 地址。
浏览器默认从微软 CDN 下载。国内网络先打开辅助工具再安装;也可以按官方文档设置 HTTPS_PROXY 让下载走代理,或用 PLAYWRIGHT_DOWNLOAD_HOST 指向内部镜像。
每个任务或会话开一个新的上下文,配不同的代理。动态住宅选「全球轮换」时,新连接可以换出口;固定在某地区的代理,在「我的资产」点「轮换」即可换一个 IP。
网站接受服务器 IP 就用机房,单 IP 最快最便宜;网站拦截或频繁验证服务器 IP 时用动态住宅。
官方文档 · 核对于:
官方文档 · 核对于:
官方文档 · 核对于:
官方文档 · 核对于:
官方文档 · 核对于:
产品观察 · 核对于:
动态住宅按 GB 价格以价格页和控制台为准(低价线路 US$1.50/GB,100 GB 套餐 US$1.35/GB;优质线路 US$5.00/GB;1 PTC = 1 美元)。静态 ISP 和机房 IP 按数量和租期实时报价。
产品观察 · 核对于:
选项名称、计费方式与限制以 2026-10-18 线上控制台为准:线路(优质 / 低价)、出口模式、地区、州 / 省、城市、协议(HTTP / SOCKS5)、数量(1–500)、租期、自动续租 IP(暂未开放),我的资产 → 复制 / 轮换 / 续费 / 复制给 AI。动态住宅入口为 proxy.proxy302.com:2222(HTTP)和 :3333(SOCKS5)。 2026-10-18 只读核对生产目录:静态机房 IP 在售 8 个国家——美国、加拿大、英国、德国、荷兰、日本、韩国、新加坡。
本地示例 · 核对于:
2026-10-18 在本地带密码的 HTTP 代理夹具上运行了本段代码(凭据错误时返回 407);Playwright 1.63.0 + Chromium 153:凭据正确时页面经代理打开,密码错误时打不开页面。
本地实测只证明配置写法和认证路径正确,不代表能访问任何具体网站、国家或平台。
产品观察 · 核对于:
控制台「连接工具」页提供辅助工具(Windows / macOS 全局代理);「我的资产 → 复制给 AI」生成的说明写明:在中国大陆使用代理前需先打开辅助工具或已连上 VPN。
注册账号、一次充值,即可选择动态住宅、静态 ISP 或数据中心出口。动态住宅覆盖 195+ 国家与地区。