如何利用2Captcha获取的Token绕过CloudFlare Captcha并跳转目标页面?
解决Cloudflare Captcha Token的使用问题
先明确Token对应类型:2Captcha针对Cloudflare验证返回的结果分两种情况:
- 传统Cloudflare人机验证:返回
cf_clearanceCookie值,以及提交验证时使用的User-Agent(必须和后续请求完全一致) - Cloudflare Turnstile验证:返回
cf-turnstile-response参数值
- 传统Cloudflare人机验证:返回
携带验证信息请求目标页面:
传统Cloudflare验证场景:
将cf_clearance加入请求Cookie,同时固定User-Agent与提交2Captcha任务时一致。示例代码(Python requests):import requests headers = { 'User-Agent': '提交2Captcha任务时使用的UA' } cookies = { 'cf_clearance': '从2Captcha获取的cf_clearance值' } # 请求目标页面 response = requests.get('目标页面URL', headers=headers, cookies=cookies)Turnstile验证场景:
需向页面的验证提交接口(一般为POST请求)发送cf-turnstile-response参数,同时携带页面的csrf token(需从目标页面源码提取)、匹配的UA和Cookie。示例代码:import requests from bs4 import BeautifulSoup session = requests.Session() target_url = '目标页面URL' ua = '匹配的User-Agent' session.headers.update({'User-Agent': ua}) # 先访问目标页面提取csrf token page = session.get(target_url) soup = BeautifulSoup(page.text, 'html.parser') csrf_token = soup.find('input', {'name': 'csrf_token'})['value'] # 提交Turnstile验证 submit_data = { 'cf-turnstile-response': '从2Captcha获取的Turnstile Token', 'csrf_token': csrf_token } session.post('验证提交接口URL', data=submit_data) # 再次请求目标页面即可绕过验证 final_response = session.get(target_url)
关键注意事项:
- User-Agent必须严格一致,Cloudflare会绑定UA与
cf_clearance,不一致直接导致验证失效 - 确保获取Token时的IP和后续请求目标页面的IP相同(若2Captcha使用代理,需保持代理一致)
- 若仍被拦截,检查是否遗漏
__cf_bm等Cloudflare辅助Cookie,可从2Captcha返回的验证响应中提取完整Cookie集合
- User-Agent必须严格一致,Cloudflare会绑定UA与
内容的提问来源于stack exchange,提问作者Lin
相关产品推荐
相关产品推荐

