如何使用 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