无头浏览器
基于云的无头浏览器,内置自适应安全机制、CAPTCHA 管理和住宅代理。使用代码示例进行测试,并通过高级功能进行自定义。
无头浏览器可让你运行和控制远程实例,用于基于浏览器的自动化、测试和网页抓取,而无需在本地管理它们。它提供内置自适应安全、自动 CAPTCHA 处理、地理位置定位、集成住宅代理、会话录制、粘性会话和持久化配置文件。
支持的库
无头浏览器可与任何支持以下内容的库一起使用 Chrome DevTools Protocol (CDP),包括:
Playwright (Python 和 Node.js)
Puppeteer (Node.js)
其他兼容 CDP 的自动化框架
连接详情
注意: 无头浏览器正在迁移到新基础设施。请将连接字符串从 ubc.oxylabs.io 更新为 hb.oxylabs.io 在 10月1日之前。自 10月1日 起,发送到旧域名的流量将自动路由到新域名。
Dashboard 和会话检查工具也已从 headlesify.io 迁移到 hb.oxylabs.io。请参阅 会话检查与录制 了解详情。
协议
wss:// (WebSocket Secure)
主机(Chromium)
hb.oxylabs.io
认证
在 URL 中,用户信息—— wss://USERNAME:PASSWORD@host。必须包含用户名后缀 token(例如 user_ab12)。不支持基于 header 的认证。
传输
CDP – chromium.connectOverCDP (Playwright) / puppeteer.connect (Puppeteer)。
域名
oxylabs.io ——用于连接端点(例如 hb.oxylabs.io)、Dashboard(hb.oxylabs.io/dashboard)、以及会话检查(hb.oxylabs.io/novnc).
速率限制
100 并发会话数, 10 每秒会话数。 查看更多.
功能
Oxylabs 无头浏览器包含内置的云原生功能,设计为通过 WebSocket 连接 URL 中的查询参数来使用。
参数传递
所有功能都通过在 WebSocket Secure 端点后直接追加查询参数来启用和配置,并使用和号(&).
代码示例
以下是初始化云托管浏览器会话的基本示例:
JavaScript: 在遇到 TLS/证书错误时,在 Node.js 中 require Playwright 之前使用 NODE_TLS_REJECT_UNAUTHORIZED="0" 该标志。仅用于本地测试。在生产环境中,请将信任范围限定到特定连接,或者将提供方的 CA 证书添加到你的信任存储中。
参数参考
p_cc
国家地理定位,采用 ISO 3166-1 alpha-2 2 位字母代码(例如 US, DE).
字符串
p_city
城市地理定位,小写, _ 空格用下划线替代(例如 new_york). p_cc / p_state ,必填。
字符串
p_device
设置设备指纹、视口和用户代理。支持 桌面端 (默认)和 移动端.
字符串
solve_captcha
页面加载时自动实时 CAPTCHA 解决。默认: false.
布尔值
record
录制无头会话视频。默认: false.
布尔值
record_name
为便于查找命名录制(^[a-zA-Z0-9_-]{1,64}$).
字符串
session_name
粘性会话——重新连接到同一个在线远程浏览器(^[A-Za-z0-9-]{3,36}$,支持连字符,不支持下划线)。最大 TTL 为 24 小时。
字符串
keep_alive
在客户端断开连接后仍保持远程浏览器实例在线,设置为 true。默认: false.
布尔值
o_profile
持久化配置文件——保存/恢复 Cookie 和 localStorage 使用命名配置文件(^[A-Za-z0-9_-]{1,36}$).
字符串
o_profile_save
持久化配置文件——在会话期间或结束时强制保存配置文件。默认: false.
布尔值
proxy_resi_ses_id
自定义会话 ID,用于在多个会话间固定住宅出口 IP(^[A-Za-z0-9]{3,36}$).
字符串
proxy_resi_ses_time
以分钟为单位保留已固定的住宅代理出口 IP 的时长。最小 1,最大 1440 (24 小时)。
整数
推荐配置
优化流量
抓取动态页面时,浏览器通常会下载不必要的资源,例如大量媒体、跟踪脚本、图片和字体。这会消耗带宽并降低执行速度。
你可以在这些请求消耗资源之前,通过程序拦截并中止它们:
错误处理和重试
网络抖动和每秒 10 个会话的速率限制意味着单个 connectOverCDP 调用可能会暂时失败。请将连接包装在带指数 重试 和 退避的逻辑中,并为每次尝试设置超时。下面的示例使用标准 Playwright API:
资源清理
即使自动化在中途抛出异常,也要在完成后始终关闭浏览器。使用 try { ... } finally { ... } 块,以便清理在所有路径上运行:
如果在 connect 和 close 之间发生异常且你没有清理,远程会话会保持打开,并占用你的 100 concurrent sessions 之一,直到它被回收。在高负载下泄漏会话会耗尽限制并阻止新的连接。
需要启用某项功能?
更多持久化配置文件 – 提高您账户默认的 5 个已保存配置文件上限。
更多持久化会话 – 提高您账户默认的 5 个并发持久化会话上限。
受限目标 – 通过 KYC 流程解锁更多目标类别。
更高的速率限制 – 提升到超过 100 个并发会话 / 每秒 10 个。
最后更新于
这有帮助吗?

