CAPSOLVER
Blog
Como resolver reCaptcha v2 com Node.JS

Como resolver reCaptcha v2 com Node.JS

Logo of CapSolver

Lucas Mitchell

Automation Engineer

17-Dec-2025

TL;DR

Este guia explica como resolver o reCAPTCHA v2 usando o Node.js com a API do CapSolver. Ele aborda as implementações sem proxy e com proxy, inclui instruções passo a passo para a configuração e fornece exemplos de código do Node.js prontos para uso. Ao seguir este tutorial, os desenvolvedores podem integrar o tratamento do reCAPTCHA v2 em seus fluxos de automação ou coleta de dados de forma eficiente e confiável.

Introdução

O reCAPTCHA v2 continua sendo um dos mecanismos mais comumente utilizados de verificação humana na web. Para os desenvolvedores que trabalham com fluxos automatizados, extração de dados ou automação em larga escala de navegadores, lidar com o reCAPTCHA v2 de forma eficiente é um desafio técnico recorrente.

Neste artigo, percorremos uma implementação prática do Node.js para resolver o reCAPTCHA v2 usando a API do CapSolver. Você aprenderá como configurar seu ambiente, instalar as dependências necessárias e implementar soluções com e sem proxy. Os exemplos incluídos são orientados para produção e projetados para serem facilmente adaptados a casos reais.

⚙️ Pré-requisitos

  • Proxy (Opcional)
  • Node.JS instalado
  • Chave da API Capsolver

🤖 Passo 1: Instalar Pacotes Necessários

Execute os seguintes comandos para instalar os pacotes necessários:

python Copy
npm install axios

👨‍💻 Código Node.JS para resolver reCaptcha v2 sem proxy

Aqui está um script de exemplo do Node.JS para realizar a tarefa:

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

const PAGE_URL = ""; // Substitua pela sua Website
const SITE_KEY = ""; // Substitua pela sua Website
const CLIENT_KEY = "";  // Substitua pela sua chave da API CAPSOLVER

async function createTask(payload) {
  try {
    const res = await axios.post('https://api.capsolver.com/createTask', {
      clientKey: CLIENT_KEY,
      task: payload
    });
    return res.data;
  } catch (error) {
    console.error(error);
  }
}
async function getTaskResult(taskId) {
    try {
        success = false;
        while(success == false){

            await sleep(1000);
        console.log("Obtendo resultado da tarefa para o ID da tarefa: " + taskId);
      const res = await axios.post('https://api.capsolver.com/getTaskResult', {
        clientKey: CLIENT_KEY,
        taskId: taskId
      });
      if( res.data.status == "ready") {
        success = true;
        console.log(res.data)
        return res.data;
      }
    }
  
    } catch (error) {
      console.error(error);
      return null;
    }
  }
  

async function solveReCaptcha(pageURL, sitekey) {
  const taskPayload = {
    type: "ReCaptchaV2TaskProxyless",
    websiteURL: pageURL,
    websiteKey: sitekey,
  };
  const taskData = await createTask(taskPayload);
  return await getTaskResult(taskData.taskId);
}
function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}
async function main() {
  try {
   
      const response = await solveReCaptcha(PAGE_URL, SITE_KEY );
      console.log(`Token recebido: ${response.solution.gReCaptcharesponse}`);
        
    }
catch (error) {
    console.error(`Erro: ${error}`);
  }

}
main();

👨‍💻 Código Node.JS para resolver reCaptcha v2 com proxy

Aqui está um script de exemplo do Node.JS para realizar a tarefa:

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

const PAGE_URL = ""; // Substitua pela sua Website
const SITE_KEY = ""; // Substitua pela sua Website
const CLIENT_KEY = "";  // Substitua pela sua chave da API CAPSOLVER
const PROXY =  "https://username:password@host:port";

async function createTask(payload) {
  try {
    const res = await axios.post('https://api.capsolver.com/createTask', {
      clientKey: CLIENT_KEY,
      task: payload
    });
    return res.data;
  } catch (error) {
    console.error(error);
  }
}
async function getTaskResult(taskId) {
    try {
        success = false;
        while(success == false){

            await sleep(1000);
        console.log("Obtendo resultado da tarefa para o ID da tarefa: " + taskId);
      const res = await axios.post('https://api.capsolver.com/getTaskResult', {
        clientKey: CLIENT_KEY,
        taskId: taskId
      });
      if( res.data.status == "ready") {
        success = true;
        console.log(res.data)
        return res.data;
      }
    }
  
    } catch (error) {
      console.error(error);
      return null;
    }
  }
  

async function solveReCaptcha(pageURL, sitekey) {
  const taskPayload = {
    type: "ReCaptchaV2Task",
    websiteURL: pageURL,
    websiteKey: sitekey,
    proxy: PROXY
  };
  const taskData = await createTask(taskPayload);
  return await getTaskResult(taskData.taskId);
}
function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}
async function main() {
  try {
   
      const response = await solveReCaptcha(PAGE_URL, SITE_KEY );
      console.log(`Token recebido: ${response.solution.gRecaptchaResponse}`);
        
    }
catch (error) {
    console.error(`Erro: ${error}`);
  }

}
main();

⚠️ Altere estas variáveis

  • PROXY: Altere para seu proxy, apenas se você usar ReCaptchaV2Task.
  • CLIENT_KEY: Obtenha sua chave da API no Painel do Capsolver.
  • PAGE_URL: Substitua pela URL do site para o qual deseja resolver o captcha
  • SITE_KEY: Substitua pela chave do site da página com captcha

👀 Mais informações

Conclusão

Resolver o reCAPTCHA v2 no Node.js não precisa ser complexo. Ao utilizar a API do CapSolver, os desenvolvedores podem implementar uma solução limpa e escalável que funcione de forma confiável em diferentes configurações de sites. Seja por meio de uma configuração sem proxy para simplicidade ou uma abordagem com proxy para maior controle, os exemplos deste guia fornecem uma base sólida para uso em produção.

Perguntas Frequentes

1. Qual é a diferença entre tarefas de reCAPTCHA v2 sem proxy e com proxy?

Tarefas sem proxy dependem da infraestrutura interna do CapSolver e são mais fáceis de implementar, enquanto tarefas com proxy permitem que você controle a reputação do IP e a localização geográfica para maiores taxas de sucesso em sites mais rigorosos.

2. Quando devo usar ReCaptchaV2Task em vez de ReCaptchaV2TaskProxyless?

Use ReCaptchaV2Task quando o site de destino exigir consistência de IP ou aplicar restrições regionais que requerem uma configuração de proxy específica.

3. Quanto tempo geralmente leva para receber um token de reCAPTCHA v2?

A maioria das tarefas é concluída em alguns segundos. O tempo real depende da complexidade do site, dificuldade do desafio e se um proxy for usado.

4. Este solução pode ser integrada a sistemas maiores de automação no Node.js?

Sim. As funções fornecidas são modulares e podem ser incorporadas a roteadores, pipelines de automação ou fluxos de trabalho baseados em navegador.

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