CAPSOLVER
Blog
Como resolver o desafio do Cloudflare usando Node.js

Como resolver o desafio do Cloudflare com Node.js

Logo of CapSolver

Adélia Cruz

Neural Network Developer

03-Dec-2025

Introdução

Seus scripts de automação em Node.js estão constantemente sendo bloqueados pelo Cloudflare? Você não está sozinho. As medidas de segurança poderosas do Cloudflare, como seus desafios JavaScript e o modo "I'm Under Attack", são eficazes para impedir bots, mas também podem interromper tarefas legítimas de raspagem de dados e extração. Essas verificações de segurança validam os visitantes executando testes em segundo plano que os scripts automatizados frequentemente falham.

Este guia mostrará como superar essa obstáculo. Vamos percorrer um processo claro e passo a passo usando Node.js e o serviço CapSolver para resolver eficientemente os desafios do Cloudflare e obter o token necessário cf_clearance para acesso sem interrupções.

⚙️ Pré-requisitos

Antes de começar, certifique-se de ter o seguinte pronto:

  • Um proxy funcional: Isso é crucial para resolver os desafios do Cloudflare. É altamente recomendado usar proxies de ISP ou residenciais, pois seus endereços IP são menos propensos a serem marcados.
  • Node.js instalado: Certifique-se de que o Node.js esteja instalado no seu sistema.
  • Chave de API do CapSolver: Você precisará de uma conta no CapSolver para obter uma chave de API. O CapSolver é um serviço baseado em IA projetado para lidar com vários CAPTCHAs e desafios de bots.

🤖 Passo 1: Instalar os Pacotes Necessários do Node.js

Primeiro, precisamos instalar a biblioteca axios para fazer solicitações HTTP. Abra seu terminal e execute o seguinte comando:

bash Copy
npm install axios

👨‍💻 Passo 2: Escrever o Código Node.js para Resolver o Desafio do Cloudflare

Aqui está o código de exemplo para resolver o desafio do Cloudflare e obter o token cf_clearance usando Node.js e a API do CapSolver. Este código demonstra como criar uma AntiCloudflareTask e verificar o resultado.

Código Node.js Atualizado

Este código incorpora as melhores práticas mais recentes da documentação oficial do CapSolver, com uma estrutura mais limpa e comentários necessários.

javascript Copy
const axios = require('axios');

// -------------------POR FAVOR MODIFIQUE ESTES VALORES-------------------
// Detalhes do seu proxy no formato: http://username:password@ip:port
const PROXY = 'http://username:password@ip:port'; 
// Sua chave de API do CapSolver Dashboard
const CAPSOLVER_API_KEY = 'SuaAPIKEY';
// A URL do site de destino onde você deseja resolver o desafio do Cloudflare
const PAGE_URL = 'https://www.seusite.com';
// ----------------------------------------------------------------


/**
 * Cria uma tarefa para resolver o desafio do Cloudflare usando a API do CapSolver.
 * @param {string} websiteURL - A URL do site de destino.
 * @param {string} proxy - O proxy a ser usado.
 * @returns {Promise<string|null>} - O ID da tarefa, ou null se a criação falhar.
 */
async function createCloudflareTask(websiteURL, proxy) {
    console.log('Criando tarefa Cloudflare para o CapSolver...');
    try {
        const response = await axios.post('https://api.capsolver.com/createTask', {
            clientKey: CAPSOLVER_API_KEY,
            task: {
                type: 'AntiCloudflareTask',
                websiteURL: websiteURL,
                proxy: proxy
            }
        });
        if (response.data.errorId > 0) {
            console.error(`Falha ao criar a tarefa: ${response.data.errorDescription}`);
            return null;
        }
        console.log(`Tarefa criada com sucesso. ID da tarefa: ${response.data.taskId}`);
        return response.data.taskId;
    } catch (error) {
        console.error(`Ocorreu um erro ao criar a tarefa: ${error}`);
        return null;
    }
}

/**
 * Verifica o resultado da tarefa.
 * @param {string} taskId - O ID da tarefa retornado pelo CapSolver.
 * @returns {Promise<object|null>} - O objeto de solução, ou null se falhar.
 */
async function getTaskResult(taskId) {
    console.log(`Obtendo resultado para a tarefa ID ${taskId}...`);
    let solution = null;

    while (!solution) {
        await new Promise(resolve => setTimeout(resolve, 3000)); // Aguarda 3 segundos

        try {
            const response = await axios.post('https://api.capsolver.com/getTaskResult', {
                clientKey: CAPSOLVER_API_KEY,
                taskId: taskId
            });

            if (response.data.errorId > 0) {
                console.error(`Falha ao obter o resultado: ${response.data.errorDescription}`);
                return null;
            }

            if (response.data.status === 'ready') {
                console.log('Solução recuperada com sucesso!');
                solution = response.data.solution;
            } else if (response.data.status === 'processing') {
                console.log('A tarefa ainda está em processamento, por favor aguarde...');
            } else if (response.data.status === 'failed') {
                console.error(`A tarefa falhou no processamento: ${response.data.errorDescription}`);
                return null;
            }
        } catch (error) {
            console.error(`Ocorreu um erro ao obter o resultado: ${error}`);
            return null;
        }
    }
    return solution;
}

/**
 * Função principal para executar todo o processo.
 */
async function main() {
    console.log('Iniciando a resolução do desafio Cloudflare...');
    
    const taskId = await createCloudflareTask(PAGE_URL, PROXY);
    if (!taskId) {
        console.log('Não foi possível criar a tarefa, saindo.');
        return;
    }

    const solution = await getTaskResult(taskId);
    if (!solution) {
        console.log('Não foi possível recuperar a solução, saindo.');
        return;
    }

    console.log('Detalhes da solução obtidos:');
    console.log(solution);

    // Agora você pode usar os cookies e o user-agent obtidos para acessar o site de destino.
    // O objeto de solução contém 'url', 'status', 'headers', 'cookies', 'userAgent'.
    
    // Exemplo: Como usar os cookies e user-agent obtidos para fazer uma solicitação
    try {
        const cfCookie = solution.cookies.map(cookie => `${cookie.name}=${cookie.value}`).join('; ');
        
        console.log('\nAcessando a página de destino com os cookies e user-agent obtidos...');
        const pageResponse = await axios.get(PAGE_URL, {
            headers: {
                'User-Agent': solution.userAgent,
                'Cookie': cfCookie
            },
            // É recomendado usar uma instância do axios com proxy dedicado para solicitações subsequentes.
            proxy: false, 
        });

        console.log(`\nAcesso bem-sucedido! Código de status da página: ${pageResponse.status}`);
        // console.log('Conteúdo da página:', pageResponse.data); // Remova o comentário para ver o conteúdo da página

    } catch (error) {
        console.error(`\nErro ao acessar a página com a solução: ${error.response ? error.response.status : error.message}`);
    }
}

main();

⚠️ Variáveis Importantes a Modificar

Antes de executar o código, certifique-se de modificar as seguintes variáveis:

  • PROXY: Substitua esta variável pelo endereço e credenciais do seu servidor de proxy. O formato deve ser http://username:password@ip:port.
  • CAPSOLVER_API_KEY: Encontre sua chave de API no Painel do CapSolver e substitua o espaço reservado.
  • PAGE_URL: Substitua esta variável pela URL do site de destino protegido pelo Cloudflare.

Conclusão

Ao integrar o CapSolver, os desenvolvedores podem automatizar o processo complexo de lidar com desafios do Cloudflare em seus aplicativos Node.js. Este método não apenas tem uma alta taxa de sucesso, mas também libera você de lidar com políticas de segurança em constante mudança. Basta chamar uma API e receber o token cf_clearance e um "User-Agent" correspondente, permitindo acesso sem interrupções ao seu site de destino. Esta estratégia é essencial para qualquer projeto que exija coleta de dados estável e em larga escala. Para aqueles interessados em uma análise mais aprofundada, nosso guia sobre como resolver o desafio de 5 segundos do Cloudflare fornece detalhes técnicos adicionais.

Perguntas Frequentes (FAQ)

Q1: Por que preciso usar um proxy?
A1: O Cloudflare monitora endereços IP para atividade incomum. Um único IP fazendo muitas solicitações pode ser marcado como bot. Usar proxies de alta qualidade (como proxies residenciais ou de ISP) imita o comportamento de usuários reais e aumenta significativamente sua taxa de sucesso.

Q2: Por quanto tempo o token cf_clearance é válido?
A2: Um token cf_clearance geralmente é válido por algumas horas, embora a duração exata dependa das configurações do Cloudflare do site. Após expirar, você deve executar o processo novamente para obter um novo token.

Q3: Posso usar o cookie obtido no meu raspador?
A3: Sim. Após obter a solução do CapSolver, você deve incluir o cookie cf_clearance e o "User-Agent" correspondente em todas as solicitações HTTP subsequentes. É crucial usar o mesmo IP de proxy que foi usado para gerar o token. Embora este guia se concentre no Node.js, os mesmos princípios se aplicam a outros idiomas. Por exemplo, você pode aprender como resolver o Cloudflare com Python e Selenium em nosso outro post.

Q4: Quais outros tipos de CAPTCHAs o CapSolver pode resolver?
A4: CapSolver suporta uma ampla gama de desafios além do Cloudflare, incluindo várias versões do reCAPTCHA e CAPTCHAS baseados em imagens. Para ficar atualizado sobre as soluções mais eficazes, você pode consultar nossas classificações de melhores solucionadores de desafios do Cloudflare. Para uma lista completa dos tipos suportados, consulte a documentação oficial do CapSolver.

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

Como identificar se `action` é necessário para resolver o Cloudflare Turnstile usando a extensão CapSolver
Como identificar se `action` é necessário para resolver o Cloudflare Turnstile usando a extensão CapSolver

Aprenda a identificar ações para resolução eficaz de captchas cloudflare turnstile. Siga nosso guia passo a passo sobre o uso das ferramentas e técnicas do Capsolver.

Cloudflare
Logo of CapSolver

Aloísio Vítor

05-Dec-2025

Como Automatizar a Resolução de Desafios do Cloudflare no Selenium
Como automatizar a resolução de desafios do Cloudflare no Selenium

Domine a estratégia definitiva para resolver desafios do Cloudflare no Selenium. Use o Undetected-Chromedriver, o mimetismo comportamental e a API do CapSolver para automação web confiável.

Cloudflare
Logo of CapSolver

Lucas Mitchell

04-Dec-2025

Como resolver o desafio do Cloudflare com Node.JS
Como resolver o desafio do Cloudflare com Node.js

Uma olhada em por que o Cloudflare bloqueia scrapers em Node.js e como os desenvolvedores obtêm de forma confiável o cf_clearance para fluxos de dados.

Cloudflare
Logo of CapSolver

Adélia Cruz

03-Dec-2025

Como resolver Cloudflare | Usando Puppeteer Node.JS
Como contornar o Cloudflare | Usando Puppeteer Node.JS

Vamos explorar como resolver de forma eficaz o Cloudflare, como o Turnstile, usando o Puppeteer e o Node.js e com a ajuda de um solver de CAPTCHA.

Cloudflare
Logo of CapSolver

Aloísio Vítor

02-Dec-2025

Como Identificar o Cloudflare Turnstile | Usando a Extensão CapSolver
Como identificar Cloudflare Turnstile | Usando a Extensão CapSolver

Aprenda a identificar cloudflare turnstile para resolver captchas efetivamente. Siga nosso guia passo a passo sobre como usar as ferramentas e técnicas do Capsolver.

Cloudflare
Logo of CapSolver

Aloísio Vítor

19-Nov-2025

Top Solucionadores de Desafios da Cloudflare em 2026: Rankings de Desempenho
Top Resolutores de Desafios da Cloudflare em 2026: Rankings de Desempenho

Descubra os Melhores Solucionadores de Desafios Cloudflare em 2026. Comparamos a velocidade superior e a taxa de sucesso de 99%+ do CapSolver contra 5 concorrentes menores. Descubra por que o CapSolver é a melhor escolha para automação web.

Cloudflare
Logo of CapSolver

Adélia Cruz

12-Nov-2025