如何使用 CapSolver 和 n8n 解决 Cloudflare Turnstile

如何使用 CapSolver 和 n8n 解决 Cloudflare TurnstileCloudflare Turnstile 正迅速成为现代网站首选的验证码替代方案 与传统验证码不同 Turnstile 在后台静默运行 这使得它更难被标准自动化工具检测和绕过 但如果你能构建一个自己的 Turnstile 解决 API 一个接收挑战并返回有效令牌的 API 而无需编写任何传统代码呢 在本指南中 你将学习如何将 n8n 一个可视化工作流自动化工具 与

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



Cloudflare Turnstile 正迅速成为现代网站首选的验证码替代方案。与传统验证码不同,Turnstile 在后台静默运行,这使得它更难被标准自动化工具检测和绕过。

但如果你能构建一个自己的 Turnstile 解决 API——一个接收挑战并返回有效令牌的 API,而无需编写任何传统代码呢?

在本指南中,你将学习如何将 n8n(一个可视化工作流自动化工具)与 CapSolver(一个基于人工智能的验证码解决服务)结合,创建一个按需解决 Cloudflare Turnstile 挑战的强大 API 端点。

你将构建的内容:

  • 一个 Cloudflare Turnstile 解决 API
  • 一个网络爬虫示例,该示例解决 Turnstile、提交令牌到网站并提取受保护的数据

Cloudflare Turnstile 是一种智能验证码替代方案,旨在验证用户而不会带来传统挑战的摩擦。它不强制用户点击复选框或识别图片中的对象,而是通过浏览器信号和行为分析自动验证访客。

功能 Cloudflare Turnstile 用户交互 无 —— 在后台自动运行 工作原理 使用浏览器挑战和行为信号验证访客 可见性 显示一个小的控件,但不需要解决谜题 控件模式 托管模式、非交互模式、不可见模式 常见用例 登录表单、注册页面、结账页面,任何受 Cloudflare 保护的页面 站点密钥可见?

Turnstile 为网站提供了三种控件模式:

模式 描述 托管模式 Cloudflare 决定是否显示交互式挑战或静默验证 非交互模式 永不显示挑战 —— 始终在后台验证 不可见模式 完全隐藏 —— 页面上不渲染控件

从解决角度来看,模式不会改变你配置 CapSolver 的方式 —— 你始终需要相同的参数: 和 。

不要将 Turnstile 与 Cloudflare 的全页安全挑战 混淆 —— 那是显示“执行安全验证”并带有加载进度条的页面,让你在访问网站前完成验证。这是 Cloudflare 挑战(也称为 JS 挑战或托管挑战),而不是 Turnstile。

Cloudflare Turnstile Cloudflare 挑战 出现位置 嵌入在页面中(例如在登录表单中) 在访问网站前显示的全页弹窗 外观 页面中的一个小控件 显示“执行安全验证...”并带有加载条 实现方式 网站所有者将其添加到表单中 Cloudflare 根据安全规则自动添加 解决方式 使用 CapSolver 的 Turnstile 操作(本指南) 不同 —— 需要 Cloudflare 挑战解决器

如果你看到全页的“执行安全验证”屏幕,那不是 Turnstile —— 而是 Cloudflare 挑战,需要不同的解决方式。查看 更多关键区别


开始之前,请确保你已准备好以下内容:

  1. 一个 n8n 实例 —— 可以是 自托管 或 n8n Cloud
  2. 一个 CapSolver 账户 —— 在此注册 并获取你的 API 密钥
  3. CapSolver 的 n8n 节点 —— 已作为官方节点在 n8n 中提供(无需安装)

重要提示: 确保你的 CapSolver 账户中有足够的余额。Turnstile 解决任务会根据使用情况消耗积分。


CapSolver 作为 官方集成 在 n8n 中提供 —— 无需安装社区节点。你可以在构建工作流时直接在节点面板中找到它。

由于是官方集成,你需要在 n8n 中创建凭证,以便 CapSolver 节点可以与你的账户进行身份验证。

进入你的 n8n 实例,导航至 设置凭证。你将在这里看到所有已配置的凭证。

  1. 点击 创建凭证(右上角)
  2. 搜索 "CapSolver" 并选择 CapSolver API
  3. 输入你的 API 密钥 —— 直接从 CapSolver 仪表板 复制
  4. 允许的 HTTP 请求域名 保留为 (默认)
  5. 点击 保存

n8n 会自动测试连接。你应该会看到一个绿色的 “连接测试成功” 通知,确认你的 API 密钥有效。

重要提示: 你工作流中的每个 CapSolver 节点都会引用此凭证。你只需创建一次 —— 所有解决器工作流将共享同一凭证。

现在你已准备好构建你的 Turnstile 解决工作流!


在解决 Turnstile 挑战之前,你需要知道其参数 —— 特别是 和 (也称为站点密钥)。

Turnstile 仅需要两个参数,因此找到它们非常简单:

这仅仅是包含 Turnstile 控件的页面的完整 URL。从浏览器地址栏中复制它即可。

站点密钥嵌入在页面的 HTML 中。以下是几种查找方法:

1. 在页面源代码中搜索

右键点击页面 → 查看页面源代码(或按 )并搜索 :

2. 在 JavaScript 中搜索

一些网站通过 JavaScript 渲染 Turnstile 而不是 HTML 属性。在页面源代码中搜索 :

3. 检查 DevTools 的网络标签

打开 DevTools()→ 网络 标签 → 按 或 过滤。站点密钥通常会出现在请求 URL 或响应数据中。

4. 在 HTML 中搜索

Turnstile 从 Cloudflare 加载其脚本。在页面源代码中搜索此域名 —— 站点密钥通常在附近:

提示:

  • 站点密钥始终以 开头,并且是一个长的字母数字字符串
  • 如果网站使用 Cloudflare 的托管挑战(访问网站前的全页挑战),Turnstile 控件可能不在页面源代码中 —— 它是由 Cloudflare 的挑战页面提供的

此工作流创建一个 POST API 端点,接收 Turnstile 参数并返回解决后的令牌。

该工作流由三个节点组成:

  1. Webhook —— 接收带有 Turnstile 参数的传入 POST 请求
  2. Cloudflare Turnstile —— 将挑战发送到 CapSolver 并等待解决方案
  3. 响应 Webhook —— 以 JSON 响应返回解决方案

1. Webhook 节点

设置 值 HTTP 方法 路径 响应模式

这将创建一个端点:

2. CapSolver Cloudflare Turnstile 节点

参数 值 描述 操作 必须设置为 Cloudflare Turnstile 类型 此任务类型不需要代理 网站 URL 包含 Turnstile 控件的页面的 URL 网站密钥 Turnstile 站点密钥 metadata.action (可选) 一些网站要求特定的 action 字符串用于 Turnstile 挑战 metadata.cdata (可选) 一些网站传递给 Turnstile 控件的自定义数据用于验证

一些网站还需要 metadata.action 和/或 metadata.cdata —— 你可以在节点的 可选 部分添加这些内容。同时在此节点中选择你的 CapSolver 凭证

3. 响应 Webhook 节点

设置 值 响应内容 响应体

这将返回完整的 CapSolver 响应,包括解决后的 Turnstile 令牌。

向你的 Webhook 端点发送 POST 请求:

预期响应:

复制以下 JSON 并通过 菜单从 JSON 导入 导入到 n8n 中:

点击展开工作流 JSON

Turnstile 解决 API 端点接受以下参数:

参数 必需 描述 托管 Turnstile 控件的页面的 URL Turnstile 站点密钥 否 一些网站要求的用于 Turnstile 挑战的操作字符串 否 一些网站传递给 Turnstile 控件的自定义数据

提示: 你可以通过检查页面源代码来识别 和 —— 参见 如何识别 Turnstile 参数。

与 reCAPTCHA 相比,Turnstile 更简单 —— 你只需要两个必需参数。一些网站可能还需要可选的 或 字段 —— 如果令牌未被接受,请在节点的 可选 部分添加这些内容。


上述 API 工作流展示了如何获取已解决的 Turnstile 令牌。但你实际上如何使用它呢?

在现实世界的自动化中,解决挑战只是工作的一半。你需要提交令牌到目标网站 —— 就像浏览器那样 —— 以解锁 Turnstile 保护后的数据或操作。

以下是通用模式:

  1. 解决挑战 → 从 CapSolver 获取令牌
  2. 提交令牌 → 通过 HTTP 请求将令牌发送到目标网站(通常作为 表单字段)
  3. 验证响应 → 检查网站是否接受该令牌
  4. 处理结果 → 提取你需要的数据

示例: https://example.com/ —— 一个受 Turnstile 保护的网站

工作流流程

工作原理

  1. 手动触发 —— 手动启动工作流(点击“执行工作流”)。你可以用任何触发器替换它 —— Webhook、定时器、应用事件等。
  2. CapSolver Cloudflare Turnstile —— 解决 Turnstile 挑战:
    • 操作:
    • 网站 URL:
    • 网站密钥:(通过检查页面源代码找到 —— 参见 如何识别 Turnstile 参数
  3. HTTP POST 请求 —— 提交已解决的令牌到目标网站:
    • 令牌通过 表单字段发送
    • 包含网站预期的其他表单字段(例如 、)
    • 这就是浏览器在 Turnstile 验证后提交表单时所做的
  4. IF 节点 —— 检查响应是否表示成功(例如重定向、成功消息或特定 JSON 字段)
  5. 编辑字段 — 从响应中提取你需要的数据。在实际场景中,这一步你将使用HTML节点解析HTML,提取特定元素(例如用户数据、产品列表、仪表板内容),并将其映射到你的输出字段。

关键概念:每个网站处理令牌提交的方式不同。在这个示例中,令牌通过POST请求发送到表单字段——但其他网站可能期望它以不同的字段名、JSON正文、请求头或完全不同的端点发送。始终使用DevTools的网络标签检查网站的实际表单提交,以确定令牌需要如何发送。

  1. 识别Turnstile参数 — 通过检查页面源代码找到和
  2. 检查表单提交 — 使用浏览器的DevTools网络标签查看表单提交时发送的请求(URL、方法、请求头、正文字段)
  3. 在n8n中复制请求 — 配置HTTP请求节点以完全匹配表单提交,将解决的令牌插入正确的字段(通常是,但请检查实际表单)
  4. 添加验证 — 使用IF节点检查响应并确认数据是否已解锁
  5. 提取数据 — 一旦网站接受令牌,解析响应以提取你需要的数据。对于HTML响应使用HTML节点,对于JSON响应使用编辑字段

注意:此示例为简化起见使用了手动触发,但你可以将其替换为任何触发节点——Webhook(构建API)、定时触发(每小时运行一次)、应用事件(响应Telegram消息)或其他。有关所有选项,请参阅工作流触发方式。


本指南中的示例使用了手动触发(用于抓取工作流)和Webhook(用于API工作流),但n8n提供了更多启动工作流的方式。你可以将触发节点替换为适合你用例的节点:

触发方式 描述 适用场景 手动触发 在n8n中点击“执行工作流” 测试和一次性运行 定时触发 每天、每小时或自定义间隔(cron)运行 定期抓取任务(例如每小时检查一次网站) Webhook触发 在接收到HTTP请求时运行 构建其他服务可以调用的API 应用事件触发 在Telegram、Notion、Airtable等发生事件时运行 响应事件(例如新Telegram消息触发解决) 表单提交触发 在n8n中生成一个网页表单并将响应传递给工作流 让用户通过表单提交验证码参数 由其他工作流执行 通过其他工作流的“执行工作流”节点调用 模块化架构——将求解器作为可重用的子工作流 聊天消息触发 在用户发送聊天消息时运行(AI节点) 需要按需解决挑战的聊天机器人集成 其他方式 工作流错误、文件更改等 高级自动化触发

例如,要每小时运行一次你的抓取工作流,只需将手动触发节点替换为定时触发节点,并将间隔设置为1小时。其余工作流保持完全不变。


一旦你的工作流解决了Turnstile挑战并从目标网站获取了数据,你将需要存储或导出这些数据。n8n提供了内置的数据转换和输出节点来实现这一点。

在保存之前,你可以使用n8n的内置节点转换抓取的数据:

节点 描述 合并 合并多个来源的数据 汇总 对项目进行求和、计数、取最大值等 转换为文件 将JSON数据转换为CSV、Excel或其他二进制格式 从文件中提取 将二进制数据转换为JSON HTML 解析并从HTML响应中提取数据 XML 在JSON和XML之间转换 重命名键 重命名字段以匹配你期望的输出格式 排序 在导出前重新排序项目

在IF节点验证响应后,你可以添加以下节点来保存数据:

目标 方法 Google表格 追加行到电子表格——适合跟踪随时间变化的结果 Excel/CSV文件 使用 转换为文件节点生成或,然后使用 写入二进制文件节点保存或上传到Google Drive 数据库(MySQL、PostgreSQL、MongoDB) 直接插入数据库表以进行结构化存储 Airtable/Notion 将数据发送到你的项目管理工具 Google Drive/S3 上传文件到云存储 Telegram/Slack/邮件 通过抓取的数据发送通知 本地JSON文件 将结果写入磁盘上的文件

提示:你可以组合多个输出——例如,通过将两个节点连接到IF节点的“true”输出,同时保存到Google表格并发送Telegram通知。


症状 CapSolver节点因API密钥错误而失败 原因 你的API密钥不正确或未配置 修复设置→凭证中再次检查你的API密钥。直接从CapSolver仪表板复制密钥
症状 任务创建失败,提示余额错误 原因 你的CapSolver账户没有余额 修复 在CapSolver仪表板充值
症状 返回的令牌被目标网站拒绝 原因 Turnstile令牌在短时间内过期 修复 在收到令牌后立即使用
症状 CapSolver成功返回令牌,但目标网站仍拒绝它 原因 某些网站有Turnstile之外的额外保护,或需要未包含的特定参数 修复 再次确认你是否按网站要求提交了令牌(正确的字段名、方法和端点)。确保你使用了正确的网站密钥。如果令牌仍不被接受,联系CapSolver支持团队寻求帮助——他们可以帮助诊断特定网站的问题
症状 Webhook耗时过长或超时 原因 根据负载不同,验证码解决可能需要几秒钟 修复 在n8n设置中增加Webhook超时时间。对于生产用例,考虑添加重试逻辑

  1. 立即使用令牌 — Turnstile令牌会快速过期。在从求解器API收到令牌后,立即将其发送到目标网站。
  2. 配置前验证参数 — 在配置工作流前,始终通过检查页面源代码确认正确的。
  3. 确保API密钥安全 — 千万不要在客户端代码中暴露你的CapSolver API密钥。这些n8n工作流将密钥保留在服务器端,这是推荐的做法。
  4. 监控你的余额 — 在CapSolver仪表板中设置余额警报,以避免因余额不足导致工作流意外失败。
  5. 添加错误处理 — 对于生产工作流,添加一个IF节点在CapSolver节点后检查错误并优雅处理(例如重试、通知或记录失败)。

你已经学习了如何使用n8n和CapSolver构建一个Cloudflare Turnstile求解API抓取工作流模式——无需传统编码。

在本指南中,我们涵盖了:

  • 基于Webhook的工作流,用于Cloudflare Turnstile的API求解端点
  • 现实世界的抓取模式,展示如何将解决的令牌提交到目标网站并提取受保护的数据
  • 通过检查页面源代码识别Turnstile参数
  • 令牌处理、错误管理和生产使用的**实践

关键要点:解决Turnstile挑战只是工作的一半——你还需要将令牌提交到目标网站以解锁受保护的数据。


准备好了吗? 注册CapSolver,使用优惠码n8n在首次充值时获得额外8%的奖励!



Cloudflare Turnstile 是一种 CAPTCHA 替代方案,通过浏览器信号和行为分析在后台验证访问者,而无需他们解决谜题。

CapSolver的n8n节点支持Cloudflare Turnstile、reCAPTCHA v2、reCAPTCHA v2 Invisible、reCAPTCHA v3等。查看n8n CapSolver集成页面获取完整列表。

费用根据使用情况而定。查看CapSolver定价页面获取当前的Turnstile费率。

Turnstile挑战通常在几秒钟内解决,因为没有涉及图像挑战。

可以!此工作流适用于自托管的n8n和n8n Cloud。CapSolver节点已作为官方集成提供——只需添加你的API凭证即可。

在页面源代码中搜索HTML中的或JavaScript中的。你也可以打开DevTools(按F12)→网络标签并按过滤请求,以在请求中找到网站密钥。详见如何识别Turnstile参数的详细指南。

Turnstile是Cloudflare的CAPTCHA替代方案,注重隐私和用户体验——它很少显示可见的挑战。reCAPTCHA是Google的机器人检测系统,可能需要用户解决图像谜题(v2)或分配行为评分(v3)。两者都可以通过n8n中的CapSolver解决。

CapSolver节点将返回错误。对于生产工作流,建议添加错误处理(例如使用IF节点检查错误并添加重试机制或通知)。

小讯
上一篇 2026-03-15 17:15
下一篇 2026-03-15 17:13

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/237809.html