Como resolver o Cloudflare durante a raspagem de web em 2026 | Guia Passo a Passo

Adélia Cruz
Neural Network Developer
09-Dec-2025

Códigos de Status Comuns do Cloudflare ao fazer WebScraping
Erro 1020
O Erro 1020 do Cloudflare indica que o acesso foi negado. Este erro é acionado quando uma regra do firewall do site, protegido pelo Cloudflare, é violada. Várias ações, como fazer solicitações excessivas ao site, podem levar a esta violação.
Formas comuns de resolver este problema:
- Use um proxy rotativo para mascarar seu endereço IP.
- Altere e rotacione os cabeçalhos User-Agent.
- Certifique-se de que seu cliente HTTP suporte TLS se estiver utilizando a biblioteca requests.
- Utilize ferramentas de automação de navegador como Puppeteer, Playwright ou Selenium.
Erro 1015 / 429 limite de taxa
O Erro 1015 do Cloudflare ocorre quando seu endereço IP é marcado e banido pelo Cloudflare por exceder o limite de taxa de um site durante atividades de raspagem. Isso pode levar ao aparecimento deste erro.
Formas comuns de resolver este problema:
- Use proxies rotativos ou um pool de proxies grande
- Verifique se o site não pode rastrear por meio de seus cabeçalhos, alguns cabeçalhos podem fazê-lo rastreá-lo e limitar suas solicitações
- Certifique-se de que você não está sendo identificado por meio de impressão digital TLS, TCP ou qualquer outro método de identificação.
Erro 403
Um código de status 403 é uma resposta "Proibido", emitida por um servidor quando ele reconhece uma solicitação como válida, mas se recusa a atendê-la. Isso pode ocorrer devido à falta de cabeçalhos necessários em sua solicitação, como cabeçalhos CORS, JWT ou de autenticação que o servidor espera.
Se o site for geralmente acessível e adicionar os cabeçalhos corretos não resolver o problema, é possível que o servidor esteja detectando suas solicitações como automatizadas.
Formas comuns de resolver este problema:
- Você não está enviando os cabeçalhos corretos, informações da solicitação.
- O proxy foi banido
- É necessário resolver um desafio JavaScript, consulte o blog sobre Desafio Cloudflare 5s para entender como resolver isso
- O site não permite nenhum tráfego
Resgate seu código promocional CapSolver
Aumente seu orçamento de automação instantaneamente!
Use o código promocional CAPN ao recarregar sua conta no CapSolver para obter um bônus adicional de 5% em cada recarga — sem limites.
Resgate-o agora em seu Painel CapSolver
.
Identificar o Desafio Cloudflare 5s e o Captcha Cloudflare Turnstile
Desafio Cloudflare 5s
O desafio do Cloudflare parece ser:

Às vezes, esta página pode ter turnstile

Verifique se você precisa resolver o Desafio Cloudflare 5s e não apenas o turnstile, para apenas o turnstile, continue lendo este blog.
Há algumas exigências ao resolver este desafio usando o Capsolver.
- Proxy
- Chave da API do Capsolver
Enviando informações da tarefa para o Capsolver
json
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "SUA_CHAVE_API",
"task": {
"type": "AntiCloudflareTask",
"websiteURL": "https://www.seusite.com",
"proxy": "158.120.100.23:334:user:pass"
}
}
Após enviar corretamente, a API retornará um taskId
json
{
"errorId": 0,
"taskId": "014fc55c-46c9-41c8-9de7-6cb35d984edc",
"status": "idle"
}
Obtenha esse valor taskId e use-o para recuperar o resultado usando o método getTaskResult
Recuperar o resultado
json
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "SUA_CHAVE_API",
"taskId": "taskId"
}
Dependendo da carga do sistema, você receberá os resultados em um intervalo de 1s a 20s
Se você receber ERROR_CAPTCHA_SOLVE_FAILED na resposta, podem haver várias razões:
- Seu proxy não precisa resolver o desafio Cloudflare 5s (alguns sites ativam apenas para proxies ruins, ações de bots ou qualquer coisa que possa disparar que a solicitação foi feita por um bot). Às vezes, é ativado sempre, dependendo da configuração.
- Seu proxy foi banido pelo Cloudflare e está em um loop que não consegue passar pelo desafio
- O site não usa o desafio Cloudflare, verifique se é um desafio e não um turnstile, consulte as imagens de exemplo.
- O proxy está dando timeout, isso é comum ao usar proxies residenciais
Se você receber uma resposta de sucesso, ela será semelhante a:
json
{
"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": "seu proxy",
"token": "token de clearance do cf",
"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"
}
}
A partir desta resposta, você precisará analisar os valores de cookies, headers, token.
Sua solicitação precisará ser semelhante a:
- Os cabeçalhos da solicitação devem ser os mesmos que você recebeu na resposta
- Os cookies da solicitação devem ser os mesmos que você recebeu na resposta
- O cliente da solicitação deve suportar as configurações TLS, neste caso use TLS Chrome 120
- Use o mesmo proxy para interagir no site e para usar o cookie cf_clearance
- O valor do token será o valor do cookie
cf_clearanceque você precisará criar
Exemplo para resolver o Desafio Cloudflare com Python
python
# -*- coding: utf-8 -*-
import requests
import time
import tls_client
# TODO: Sua chave de API
API_KEY = ""
proxy = ""
# TODO: Sua URL do site alvo:
page_url = ''
def call_capsolver():
data = {
"clientKey": API_KEY,
"task": {
"type": 'AntiCloudflareTask',
"websiteURL": page_url,
"proxy": proxy,
}
}
uri = 'https://api.capsolver.com/createTask'
res = requests.post(uri, json=data)
resp = res.json()
task_id = resp.get('taskId')
if not task_id:
print("não obteve taskId:", res.text)
return
print('criado taskId:', task_id)
while True:
time.sleep(1)
data = {
"clientKey": API_KEY,
"taskId": task_id
}
response = requests.post('https://api.capsolver.com/getTaskResult', json=data)
resp = response.json()
status = resp.get('status', '')
if status == "ready":
print("sucesso => ", response.text)
return resp.get('solution')
if status == "failed" or resp.get("errorId"):
print("falha! => ", response.text)
return
def request_site(solution):
session = tls_client.Session(
client_identifier="chrome_120",
random_tls_extension_order=True
)
return session.get(
page_url,
headers=solution.get('headers'),
cookies=solution.get('cookies'),
proxy=proxy,
)
def main():
solution = {
"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",
"upgrade-insecure-requests": "1",
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
"sec-fetch-site": "none",
"sec-fetch-mode": "navigate",
"sec-fetch-user": "?1",
"sec-fetch-dest": "document",
"accept-encoding": "gzip, deflate, br",
"accept-language": "en-US,en;q=0.9",
}
}
# primeira solicitação (verifique seu proxy):
res = request_site(solution)
print('1. código de status da resposta:', res.status_code)
if res.status_code != 403:
print("seu proxy está bom e não recebeu o desafio do cloudflare")
return
elif 'window._cf_chl_opt' not in res.text:
print('==== proxy bloqueado ==== ')
return
# chamar o capSolver:
solution = call_capsolver()
if not solution:
return
# segunda solicitação (verificar solução):
res = request_site(solution)
print('2. código de status da resposta:', res.status_code)
if __name__ == '__main__':
main()
Captcha Cloudflare Turnstile
O Captcha Cloudflare Turnstile parece ser:
-
Desafio gerenciado

-
Desafio não interativo

-
Desafio invisível
não visível, você pode verificar na rede / scripts carregados e ver se o turnstile está sendo usado
Verifique se você precisa resolver o Captcha Cloudflare Turnstile e não o Desafio Cloudflare 5s, para apenas o Desafio Cloudflare, continue lendo este blog.
Há algumas exigências ao resolver este desafio usando Capsolver.
- Chave da API do Capsolver
Enviando informações da tarefa para o Capsolver
json
POST https://api.capsolver.com/createTask
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "SUA_CHAVE_API",
"task": {
"type": "AntiTurnstileTaskProxyLess",
"websiteURL": "https://www.seusite.com",
"websiteKey": "0x4XXXXXXXXXXXXXXXXX",
"metadata": {
"action": "login", //opcional
"cdata": "0000-1111-2222-3333-exemplo-cdata" //opcional
}
}
}
"action" e "cdata" são opcionais, às vezes são necessários e outras vezes não.
Depende da configuração do site.
action é o valor do atributo data-action do elemento Turnstile se existir.
cdata é o valor do atributo data-cdata do elemento Turnstile se existir.
Após enviar corretamente, a API retornará um taskId
json
{
"errorId": 0,
"taskId": "014fc55c-46c9-41c8-9de7-6cb35d984edc",
"status": "idle"
}
Obtenha esse valor taskId e use-o para recuperar o resultado usando o método getTaskResult
Recuperar o resultado
json
POST https://api.capsolver.com/getTaskResult
Host: api.capsolver.com
Content-Type: application/json
{
"clientKey": "SUA_CHAVE_API",
"taskId": "taskId"
}
Dependendo da carga do sistema, você receberá os resultados em um intervalo de 1s a 20s
Se você receber ERROR_CAPTCHA_SOLVE_FAILED na resposta, podem haver várias razões:
- Seu proxy não precisa resolver o desafio Cloudflare 5s (alguns sites ativam apenas para proxies ruins, ações de bots ou qualquer coisa que possa disparar que a solicitação foi feita por um bot). Às vezes, é ativado sempre, dependendo da configuração.
- Seu proxy foi banido pelo Cloudflare e está em um loop que não consegue passar pelo desafio
- O site não usa o desafio Cloudflare, verifique se é um desafio e não um turnstile, consulte as imagens de exemplo.
- O proxy está dando timeout, isso é comum ao usar proxies residenciais
Se você receber uma resposta de sucesso, ela será semelhante a:
json
{
"errorId": 0,
"taskId": "d1e1487a-2cd8-4d4a-aa4d-4ba5b6c65484",
"status": "ready",
"solution": {
"token": "0.cZJPqwnyDxL86HvAXSk4lUTQhjwfyXDcR3qpVwFofuzosoKr1otKj_A-utazXx_Tnp1B2V6womrltBpRw9HbY851ktpaF7sBN-gQwtoRUew4Wj5PO4-WLYPnNRpXxludXzyQ.1oHJhu7619fb8c07ab942bd1587bc76e0e3cef95c7aa75400c4f7d3",
"type": "turnstile",
"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"
}
}
A partir desta resposta, você precisará analisar os valores de token e este será a solução do captcha que você precisará enviar para o site.
Exemplo para resolver o Desafio Cloudflare com Python
python
import time
from curl_cffi import requests
CAPSOLVER_API_KEY = "SUA CHAVE DA API DO CAPSOLVER.COM"
PAGE_URL = ""
WEBSITE_KEY = ""
def solvecf(metadata_action=None, metadata_cdata=None):
url = "https://api.capsolver.com/createTask"
task = {
"type": "AntiTurnstileTaskProxyLess",
"websiteURL": PAGE_URL,
"websiteKey": WEBSITE_KEY,
}
if metadata_action or metadata_cdata:
task["metadata"] = {}
if metadata_action:
task["metadata"]["action"] = metadata_action
if metadata_cdata:
task["metadata"]["cdata"] = metadata_cdata
data = {
"clientKey": CAPSOLVER_API_KEY,
"task": task
}
response_data = requests.post(url, json=data).json()
print(response_data)
return response_data['taskId']
def solutionGet(taskId):
url = "https://api.capsolver.com/getTaskResult"
status = ""
while status != "ready":
data = {"clientKey": CAPSOLVER_API_KEY, "taskId": taskId}
response_data = requests.post(url, json=data).json()
print(response_data)
status = response_data.get('status', '')
print(status)
if status == "ready":
return response_data['solution']
time.sleep(2)
def main():
start_time = time.time()
taskId = solvecf()
solution = solutionGet(taskId)
if solution:
user_agent = solution['userAgent']
token = solution['token']
print("User_Agent:", user_agent)
print("Captcha de Turnstile resolvido, token:", token)
end_time = time.time()
elapsed_time = end_time - start_time
print(f"Tempo para resolver o captcha: {elapsed_time} segundos")
if __name__ == "__main__":
main()
Exemplo para resolver o desafio Cloudflare com NodeJS
js
const axios = require('axios');
const CAPSOLVER_API_KEY = "";
const PAGE_URL = "";
const WEBSITE_KEY = "";
async function solvecf(metadata_action = null, metadata_cdata = null) {
const url = "https://api.capsolver.com/createTask";
const task = {
type: "AntiTurnstileTaskProxyLess",
websiteURL: PAGE_URL,
websiteKey: WEBSITE_KEY,
};
if (metadata_action || metadata_cdata) {
task.metadata = {};
if (metadata_action) {
task.metadata.action = metadata_action;
}
if (metadata_cdata) {
task.metadata.cdata = metadata_cdata;
}
}
const data = {
clientKey: CAPSOLVER_API_KEY,
task: task
};
const response = await axios.post(url, data);
console.log(response.data);
return response.data.taskId;
}
async function solutionGet(taskId) {
const url = "https://api.capsolver.com/getTaskResult";
let status = "";
while (status !== "ready") {
const data = { clientKey: CAPSOLVER_API_KEY, taskId: taskId };
const response = await axios.post(url, data);
console.log(response.data);
status = response.data.status;
console.log(status);
if (status === "ready") {
return response.data.solution;
}
await new Promise(resolve => setTimeout(resolve, 2000));
}
}
async function main() {
const start_time = Date.now();
const taskId = await solvecf();
const solution = await solutionGet(taskId);
if (solution) {
const user_agent = solution.userAgent;
const token = solution.token;
console.log("User_Agent:", user_agent);
console.log("Captcha de Turnstile resolvido, token:", token);
}
const end_time = Date.now();
const elapsed_time = (end_time - start_time) / 1000;
console.log(`Tempo para resolver o captcha: ${elapsed_time} segundos`);
}
main().catch(console.error);
🏁 Conclusão
A Cloudflare implementa vários mecanismos de proteção — desde bloqueios HTTP padrão como 1020, 403, 429 (1015) até desafios mais avançados como Desafio Cloudflare 5s e Captcha Turnstile. Ao realizar raspagem de web ou automação, identificar qual proteção está ativa é o primeiro passo crucial.
Este guia explicou os códigos de status comuns da Cloudflare, como distinguir entre o Desafio 5s e o Captcha Turnstile, e forneceu exemplos funcionais para resolver usando a API Capsolver, incluindo implementações em Python e NodeJS.
Ao escolher a abordagem certa — proxies rotativos, cabeçalhos corretos, proteção de fingerprinting ou resolver programaticamente CAPTCHA/Desafio — você pode melhorar significativamente as taxas de sucesso na raspagem e reduzir os bloqueios.
Se suas solicitações ainda estiverem sendo marcadas, revise sua configuração de raspador: qualidade de proxy, cabeçalhos, fingerprint TLS e frequência de solicitação geralmente importam tanto quanto o próprio solucionador de CAPTCHA.
❓ Perguntas Frequentes (FAQs)
1. Como saber se estou enfrentando o desafio Cloudflare 5s ou o Captcha Turnstile?
Verifique a interface do usuário ou as solicitações de rede.
- Se uma página de "Verificando seu navegador..." de 5 segundos aparecer → Desafio Cloudflare 5s
- Se um widget com verificação aparecer (ou geração de token invisível) → Captcha Turnstile
2. Por que ainda estou sendo bloqueado mesmo após resolver o desafio?
Possíveis razões:
- Proxy banido ou de baixa qualidade
- Cabeçalhos ausentes ou incorretos ao reutilizar a solução
- Não manter o mesmo proxy durante as solicitações
- Discrepância no fingerprint TLS
3. Eu sempre preciso de um proxy ao resolver a Cloudflare?
- Desafio Cloudflare 5s requer proxy
- Captcha Turnstile permite ProxyLess, mas proxy pode ajudar a contornar restrições em sites sensíveis
4. Posso automatizar a resolução da Cloudflare em larga escala?
Sim. Com proxies bons, fingerprinting rotativo e lógica de reutilização de token, você pode escalar a raspagem — certifique-se de seguir os termos do site e as exigências legais locais.
5. O Captcha Turnstile é mais difícil de resolver do que o Desafio Cloudflare 5s?
O Captcha Turnstile geralmente é mais fácil, pois normalmente retorna um único token. O Desafio Cloudflare 5s requer cookies, cabeçalhos e consistência de proxy, tornando-o mais complexo.
Declaração de Conformidade: As informações fornecidas neste blog são apenas para fins informativos. A CapSolver está comprometida em cumprir todas as leis e regulamentos aplicáveis. O uso da rede CapSolver para atividades ilegais, fraudulentas ou abusivas é estritamente proibido e será investigado. Nossas soluções de resolução de captcha melhoram a experiência do usuário enquanto garantem 100% de conformidade ao ajudar a resolver dificuldades de captcha durante a coleta de dados públicos. Incentivamos o uso responsável de nossos serviços. Para mais informações, visite nossos Termos de Serviço e Política de Privacidade.
Mais

GoProxy: Seu provedor de serviço de proxy confiável com a rede de IPs mais rápidos de 90M+
Neste artigo, vamos mostrar para você o que é o goproxy e os serviços que eles oferecem.

Adélia Cruz
09-Dec-2025

Como resolver o Cloudflare durante a raspagem de web em 2026 | Guia Passo a Passo
Este artigo de blog explora técnicas eficazes para resolver estas defesas com a ajuda do CapSolver, uma ferramenta competente em resolvendo CAPTCHAs. Do explicar os protocolos de segurança do Cloudflare até fornecer estratégias práticas e amostras de código para contornar essas restrições.

Adélia Cruz
09-Dec-2025

Undetectable.io: Por que este navegador anti-deteção está tomando o mercado?
Neste artigo, mostraremos o que é o Undetectable.io e os serviços que eles oferecem.

Ethan Collins
09-Dec-2025

GoLogin: Navegador Antidetect para Múltiplas Contas
Neste artigo, vamos mostrar para você o que é o gologin e os serviços que eles oferecem.

Adélia Cruz
08-Dec-2025

Rampage Proxies: o lar da mediação de proxy
Neste artigo, mostraremos o que são Rampage Proxies e os serviços que eles oferecem.

Anh Tuan
08-Dec-2025

Descubra o Poder do 9Proxy: Uma Revisão Abrangente
Neste artigo, vamos mostrar a você o que é 9proxy e os serviços que eles oferecem.

Ethan Collins
04-Dec-2025


.