如何绕过/自动识别Cloudflare 5s challenge/5秒挑战验证码
Emma Foster
Machine Learning Engineer
26-May-2023
Capsolver 支持的挑战类型
-
挑战 + 转门
-
单独挑战
如果是挑战加验证码的情况,创建任务时无需添加特殊参数,因为我们将自动识别出需要解决的验证码。
如何解决 Cloudflare 挑战(5秒 IUAM)
在开始解决 Cloudflare 挑战之前,需要了解一些必要的要求和注意事项:
要求:
- Capsolver 密钥
- 代理
如果不遵循以下注意事项,解决方案将无效:
getTaskResult
方法返回的Token
是你需要创建的cf_clearance
cookie 的值。- 必须使用
getTaskResult
返回的同一用户代理。 - 必须使用解决挑战时使用的相同代理 IP。
- 必须使用响应中的 cookies。
- 必须使用响应中的 headers。
- 使用 TLS chrome 120 版本。
要解决 Cloudflare 挑战,请遵循我们的文档。某些参数是必需的,某些是可选的。
在这个示例中,我们只使用必需的参数。Cloudflare 的任务类型为:
AntiCloudflareTask
:这种任务类型需要你自己的代理。
我们将使用 AntiCloudflareTask,因为该网站使用 Cloudflare 挑战 5s。
如果缺少任何参数或提交不正确,你可能会遇到网站不接受令牌的问题。你可以在这张图片中找到所有参数:
第一步:向 capsolver 提交信息
使用 createTask
方法提交所需信息:
JSON
POST https://api.capsolver.com/createTask
{
"clientKey": "你的API密钥",
"task": {
"type": "AntiCloudflareTask",
"websiteURL": "https://www.yourwebsite.com",
"proxy": "158.120.100.23:334:user:pass"
}
}
第二步:获取结果
你需要持续调用 getTaskResult
API 端点,直到验证码被解决。
这里是一个示例请求:
json
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey":"你的API密钥",
"taskId": "由 createTask 方法创建的任务ID"
}
一旦验证码成功解决,你将收到类似于下图所示的响应:
markdown
{
"errorId": 0,
"taskId": "d8d3a8b4-30cc-4b09-802a-a476ca17fa54",
"status": "ready",
"solution": {
"accept-language": "en-US,en;q=0.9",
"cookies": {
},
"headers": {
"accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7",
"accept
-encoding": "gzip, deflate, br",
"accept-language": "en-US,en;q=0.9",
"cache-control": "max-age=0",
"content-type": "application/x-www-form-urlencoded",
"origin": "",
"referer": "",
"sec-ch-ua": "\"Not_A Brand\";v=\"8\", \"Chromium\";v=\"120\", \"Google Chrome\";v=\"120\"",
"sec-ch-ua-arch": "\"arm\"",
"sec-ch-ua-bitness": "\"64\"",
"sec-ch-ua-full-version": "\"120.0.6099.71\"",
"sec-ch-ua-full-version-list": "\"Not_A Brand\";v=\"8.0.0.0\", \"Chromium\";v=\"120.0.6099.71\", \"Google Chrome\";v=\"120.0.6099.71\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-model": "\"\"",
"sec-ch-ua-platform": "\"macOS\"",
"sec-ch-ua-platform-version": "\"10.14.6\"",
"sec-fetch-dest": "document",
"sec-fetch-mode": "navigate",
"sec-fetch-site": "same-origin",
"sec-fetch-user": "?1",
"upgrade-insecure-requests": "1",
"user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
},
"proxy": "你的代理",
"token": "cf clearance 令牌",
"type": "challenge",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
}
}
通过提交响应中的 cf_clearance
cookie 和 token
的值,使用解决挑战时的相同代理 IP、cookies、TLS chrome 120、headers 以及我们在响应中返回的相同用户代理,可以验证收到的验证码令牌。
⚠️ 如果令牌被拒绝,可能表明某些信息缺失或不正确。确保你正确提交令牌值到 cf_clearance cookie,使用解决挑战时的相同代理 IP,TLS chrome 120,响应的 headers 以及我们在响应中返回的相同用户代理。
如果你想解决 Cloudflare Turnstile 验证码,请参考这篇博客:链接
总之,尽管解决 Cloudflare 挑战可能看起来是一项艰巨的任务,capsolver.com 使过程迅速而高效。通过遵循上述步骤,你可以轻松解决 Cloudflare 问题。
Capsolver 团队 💜
合规声明: 本博客提供的信息仅供参考。CapSolver 致力于遵守所有适用的法律和法规。严禁以非法、欺诈或滥用活动使用 CapSolver 网络,任何此类行为将受到调查。我们的验证码解决方案在确保 100% 合规的同时,帮助解决公共数据爬取过程中的验证码难题。我们鼓励负责任地使用我们的服务。如需更多信息,请访问我们的服务条款和隐私政策。
更多
2025 年使用 Python 和 Go 解决 Cloudflare 问题
将分享关于 Cloudflare Turnstile 的见解,使用 Python 和 Go 完成这些任务,包括 Turnstile 是否能检测 Python 爬虫以及如何使用 CapSolver 等解决方案有效地绕过它。
Ethan Collins
05-Nov-2024
如何使用 Selenium 解决 Cloudflare Turnstile 验证码
在本博客中,我们将讨论几种使用 Selenium 克服 Cloudflare Turnstile Captcha 的有效技术。
Ethan Collins
11-Oct-2024
使用 Java 进行网页自动化时,解决 Cloudflare Turnstile 验证码的指南
学习如何在Java中自动化网页交互,并使用实际工具和编码技巧绕过Cloudflare Turnstile CAPTCHA。
Ethan Collins
08-Oct-2024
如何自动解决 Cloudflare Turnstile 以进行网页抓取
我们将探索在网页抓取中处理 Cloudflare Turnstile CAPTCHA 的策略,并讨论使用 Puppeteer 和 CapSolver 在 Python 中自动化解决它的技术。
Lucas Mitchell
27-Sep-2024
如何使用 C# 解决 Cloudflare Turnstile CAPTCHA 挑战
您将了解如何使用 C#轻松解决 Cloudflare Turnstile 的 CAPTCHA 挑战,并想知道具体细节?开始吧!
Emma Foster
17-Sep-2024
如何解决 Cloudflare | 使用 Puppeteer 和 Node.JS
我们将探讨如何使用 Puppeteer 和 Node.js,以及借助验证码解决工具,有效地解决类似 Cloudflare Turnstile 的挑战。
Nikolai Smirnov
22-Aug-2024