比特浏览器有公开API吗?

2026年6月23日

首先需在比特浏览器客户端“系统设置”中开启“Local API”,默认端口为54345。官方提供了多语言示例代码和Postman调试文件,建议先用Postman调通接口,再开发脚本,以避免参数格式错误

比特指纹浏览器有公开API吗?

比特浏览器的Local API是什么?

  • Local API是比特指纹浏览器提供的一项本地HTTP服务,运行在用户的电脑上,用于通过编程方式控制和自动化浏览器操作: 它本质上是一个运行在本地的微型服务器,默认端口为54345,允许用户通过发送HTTP请求来创建、配置、启动、关闭浏览器窗口,管理指纹参数和代理设置,从而帮助用户实现自动化脚本功能。
  • Local API的核心价值在于将比特浏览器的防关联能力与自动化脚本深度集成: 它通过HTTP请求与比特浏览器客户端通信,客户端接收到指令后执行对应的操作(如打开窗口、修改指纹等),并将执行结果以JSON格式返回给调用方。这种设计让开发者可以将比特浏览器的防关联能力无缝集成到自己的自动化工作流中。
  • 比特浏览器为开发者提供了多种语言的示例代码,帮助快速上手: 官方提供了JavaScript、Python、E语言等编程语言的Demo代码,以及用于接口调试的Postman导入文件。开发者可根据自己的技术栈选择对应的示例代码,大幅降低Local API的学习和开发门槛。

Local API的运行模式与结构

  • Local API采用请求-响应模式,所有通信均通过本地HTTP协议完成: 你的脚本向http://127.0.0.1:54345发送POST请求,携带JSON格式的参数。Local API服务接收并处理请求,将指令转发给比特浏览器核心执行,然后将结果(成功或失败信息)以JSON格式返回给脚本。
  • Local API接口的请求方式均为POST,传参方式均为body传参(JSON格式): 接口不接受request url、formdata或string等传参方式。接口返回JSON对象,success为true表示操作成功,数据附加在data字段中;返回success为false时,表示业务失败,失败信息会附加到msg字段中。
  • 典型的自动化工作流程包含创建、打开、执行、关闭四个步骤: 首先调用/browser/update接口创建带有独立指纹配置的浏览器窗口,获取返回的浏览器ID;然后用/browser/open接口启动该窗口,获取调试地址供自动化框架连接;接着用Selenium或Playwright连接到该窗口执行自动化操作;最后调用/browser/close接口关闭窗口,释放系统资源。

Local API支持哪些核心操作?

浏览器窗口的完整生命周期管理

  • 支持创建和配置浏览器窗口(/browser/update): 通过该接口可创建带有独立指纹配置的浏览器窗口,可传入操作系统、分辨率、时区、语言、Canvas、WebGL等全部指纹参数,并可配置代理IP。创建成功后返回窗口ID,作为后续所有操作的唯一标识。接口参数需严格符合规范,不要随意删改参数或传递未知意义的值,否则可能导致程序出错甚至闪退。
  • 支持打开、关闭和删除浏览器窗口(/browser/open、/browser/close、/browser/delete): 通过/browser/open接口启动已创建的浏览器窗口,启动成功后返回该窗口的调试地址(ws或http),供Selenium/Playwright等自动化框架连接使用。通过/browser/close接口可关闭指定窗口,通过/browser/delete接口可删除不再需要的窗口环境。
  • 支持列出所有窗口信息(/browser/list): 通过该接口获取当前账号下所有已创建的窗口列表,包含窗口ID、名称、分组、指纹配置、代理状态等完整信息。开发者可通过该接口实现批量管理的逻辑,例如按名称查找特定窗口、批量导出配置等。

代理配置与自动化集成支持

  • 支持代理配置的灵活管理: 通过Local API可在创建或修改窗口时为窗口绑定代理IP,支持HTTP、HTTPS、SOCKS5等多种协议。创建窗口时传入proxy_config参数即可完成代理绑定,代理绑定后窗口的网络出口即时切换至代理IP,实现网络层隔离。
  • 支持Selenium、Playwright、Puppeteer等主流自动化框架集成: /browser/open接口返回的ws或http调试地址可直接用于自动化框架连接。Selenium通过debuggerAddress选项连接,Playwright通过wsEndpoint选项连接,Puppeteer通过WebSocket URL直接连接。开发者可根据自己的技术栈选择对应的自动化框架。
  • 支持多窗口并行自动化处理: 通过API批量创建多个窗口后,可为每个窗口获取独立的调试地址,然后在多线程或异步任务中分别连接不同的窗口执行自动化操作。批量创建时每个窗口拥有独立的指纹和IP环境,自动化脚本并行执行时各环境互不干扰。

如何开始使用Local API?

开启Local API服务并确认端口

  • 在比特浏览器系统设置中开启Local API服务: 打开比特浏览器客户端,点击右上角用户头像旁的箭头图标,进入「系统设置」面板。在设置面板中找到「Local API」或「本地API」选项,将开关切换为开启状态。开启后客户端会启动本地HTTP服务。默认端口为54345,可在设置中查看当前端口号,如端口被占用可手动修改。
  • 确认网络环境与防火墙配置: Local API服务仅在比特浏览器客户端运行时提供。需确保防火墙未拦截该端口的本地通信,否则API调用将无法正常响应。建议开发调试阶段使用Postman先发送请求验证服务是否正常响应,确认接口调通后再进行脚本开发。
  • Local API仅在客户端运行时提供服务: Local API服务依赖于比特浏览器客户端的运行,关闭客户端后API将不可用。自动化脚本需确保客户端处于运行状态。如需远程调用(非本机访问),需额外配置网络和安全策略。

获取示例代码并开始开发

  • 从比特浏览器官网下载示例代码: 比特浏览器官方提供了JavaScript、Python、E语言等多种编程语言的Demo代码,以及Postman调试导入文件。开发者可在比特浏览器官网的API文档页面下载对应的示例代码,这些示例代码展示了调用Local API创建、打开、操作和关闭浏览器窗口的完整流程。
  • 使用Python调用Local API的基本示例: 安装requests库后,先通过/browser/update接口创建浏览器配置文件,传入窗口名称和指纹参数;然后通过/browser/open接口启动窗口,从返回结果中获取ws或http地址;最后通过/browser/close接口关闭窗口,释放系统资源。
  • 建议先用Postman调试再开发脚本: Local API接口参数传递方式为body传参(JSON格式),不接受request url、formdata或string等传参方式。建议先用Postman调试接口,确认接口调用成功后再进行脚本开发,避免参数格式错误导致的程序异常。Postman调试文件可从官方渠道获取,包含预配置好的请求示例。

Local API与Selenium/Playwright如何集成?

创建指纹窗口并获取调试地址

  • 通过Local API创建带有独立指纹配置的浏览器窗口: 首先调用/browser/update接口创建带有独立指纹配置的窗口,传入操作系统、分辨率、时区、Canvas噪音等参数。接口返回的browserId是后续连接操作的关键标识。创建时可配置代理IP,确保窗口的网络环境与指纹参数逻辑一致。
  • 通过/browser/open接口启动窗口并获取调试地址: 调用/browser/open接口传入browserId,启动浏览器窗口。接口返回的data.ws字段包含WebSocket调试地址(格式为ws://127.0.0.1:{port}/devtools/browser/{id}),data.http字段包含HTTP调试地址。这两个地址均可供自动化框架连接使用。
  • 启动后需等待窗口完全初始化: 调用/browser/open后,建议在脚本中添加2-4秒的等待时间(time.sleep(2)),让比特浏览器客户端完成Chromium进程的初始化和调试端口的暴露。如果连接过早,自动化框架可能无法找到调试端口。

Selenium/Playwright连接窗口并执行操作

  • Selenium通过debuggerAddress连接比特浏览器窗口: 从/browser/open返回结果中提取data.http地址(如127.0.0.1:54345),在Selenium的ChromeOptions中添加debuggerAddress选项。然后通过webdriver.Chrome(service=Service(driverPath), options=chrome_options)连接。driverPath指向比特浏览器自带的ChromeDriver,需确保路径正确。
  • Playwright通过wsEndpoint连接比特浏览器窗口: 从/browser/open返回结果中提取data.ws地址(WebSocket调试地址),在Playwright中使用browser = await playwright.chromium.connect_over_cdp(ws_url)连接。连接成功后即可使用Playwright的标准API执行登录、点击、填表等自动化操作。
  • 完整自动化流程包含四个步骤: 创建指纹配置文件(/browser/update)→启动窗口获取调试地址(/browser/open)→自动化框架连接执行操作(Selenium/Playwright)→关闭窗口(/browser/close)。整个流程可完全编程化,支持批量创建几百个不同指纹配置的环境并并行执行自动化任务。注意:不要在Selenium中调用driver.quit(),这会关闭整个浏览器进程并可能损坏配置文件的状态,应通过/browser/close接口关闭窗口。

使用Local API时需要注意什么?

接口调用规范与限制

  • 所有接口仅支持POST请求,参数为JSON格式: Local API不接受GET、PUT等请求方法,也不支持query string或form-data传参。务必使用POST方法并在请求体中传递JSON格式的参数,否则接口将无法正确处理请求。建议先使用Postman调试接口确认调用成功,再进行脚本开发。
  • 参数按规范传递,不要随意删改: 创建或修改窗口时,接口参数必须符合规范,不要随意删改参数或传递未知意义的值或类型,否则可能导致程序出错甚至闪退。参考官方接口文档中的字段定义和示例进行开发。/browser/update接口的指纹参数覆盖操作系统、分辨率、时区、Canvas等数十项字段,应按文档规范填写。
  • 请求失败时检查返回的msg字段: 接口返回success为false时,msg字段会包含具体的错误描述信息,如“参数错误”“分组id必传”“窗口不存在”等。开发者应根据msg内容进行针对性排查,快速定位问题根源。

运行环境与客户端状态管理

  • Local API依赖于比特浏览器客户端的运行: Local API服务与比特浏览器客户端绑定,关闭客户端后API将不可用。自动化脚本需确保客户端处于运行状态,建议在脚本中增加客户端状态检测逻辑。调用API前确认用户已登录比特浏览器账号。
  • 端口冲突与防火墙配置: Local API默认端口为54345,如端口被其他程序占用可手动修改。需确保防火墙未拦截该端口的本地通信,否则API调用将无法正常响应。如果API连接被拒绝,首先检查比特浏览器是否正在运行,其次确认端口号是否正确。
  • 调试建议:使用Postman先验证接口: 因参数传递方式特殊(body传参JSON格式),建议先用Postman调通接口再开发脚本。Postman调试文件可从官方获取,包含所有接口的预配置请求示例。调试时注意检查请求的Content-Type是否为application/json。

常见问题FAQ

比特浏览器的Local API是什么?

Local API是比特指纹浏览器提供的本地HTTP服务接口,运行在用户电脑上(默认端口54345),通过发送POST请求即可控制浏览器窗口的创建、配置、打开、关闭等操作。接口请求方式均为POST,传参方式均为body传参(JSON格式),返回JSON对象,success为true表示操作成功,false时msg字段包含错误信息。

Local API支持哪些核心操作?

Local API覆盖浏览器窗口的完整生命周期管理:/browser/update用于创建或修改带有独立指纹配置的浏览器窗口,/browser/open用于启动窗口并返回WebSocket/HTTP调试地址供自动化框架连接,/browser/close和/browser/delete用于关闭和删除窗口,/browser/list用于获取窗口列表,/health用于检测本地服务是否正常连接。指纹参数涵盖操作系统、分辨率、时区、Canvas、WebGL等数十项字段,留空则自动随机生成。

如何使用Local API?

首先在比特浏览器客户端“系统设置”中开启Local API服务(默认端口54345)。官方提供Python、JavaScript、E语言等示例代码及Postman调试文件。建议先用Postman调通接口确认参数正确,再进行脚本开发。社区用户分享了完整的Python调用示例,涵盖创建窗口(需指定内核版本如coreVersion: '124')、打开窗口(通过/browser/open获取http地址)、关闭和删除窗口等操作。

Local API与Selenium/Playwright如何集成?

典型的集成流程为:先通过/browser/update创建指纹配置文件,再通过/browser/open启动窗口并获取调试地址(返回data.ws或data.http),然后用Selenium的debuggerAddress选项或Playwright的wsEndpoint选项连接到该窗口执行自动化操作。整个流程可完全编程化,支持批量创建数百个不同指纹配置的环境并并行执行自动化任务。注意:不要使用driver.quit()关闭窗口,应通过/browser/close接口关闭,否则可能损坏配置文件状态。