Preços da solução CAPTCHA de texto (ImageToText)
| CAPTCHA | Preço (USD) |
|---|---|
$ 0.30 1000 tokens |
Neste artigo, procuramos responder a todas as principais dúvidas. Para começar a resolver o problema, o primeiro passo é identificar qual sistema de proteção está sendo utilizado. Para isso, você pode consultar a lista de captchas e sistemas de proteção antibot mais populares, onde há exemplos visuais e sinais principais que ajudam a identificar rapidamente com o que você está lidando.
Se você notar que o seu site utiliza CAPTCHA de texto (ImageToText), o passo seguinte é estudar com mais detalhes as suas características e o seu funcionamento. Neste mesmo artigo, você também pode conferir o guia de integração do CAPTCHA de texto (ImageToText), para entender por completo como o sistema opera no seu site. Isso permitirá não apenas compreender a proteção atual, mas também planejar adequadamente a sua manutenção.
Como resolver ImageToText CAPTCHA via CapMonster Cloud
- Abra a página com o formulário e verifique se a CAPTCHA está visível.
- Tente enviar o formulário sem resolver a CAPTCHA — o servidor deve retornar um erro.
- Após resolver a CAPTCHA corretamente, o formulário deve ser enviado sem erros.
Trabalhar com o CapMonster Cloud via API normalmente envolve as etapas abaixo:
type - ImageToTextTask
body - Conteúdo do arquivo da CAPTCHA, codificado em base64. Certifique-se de enviar o valor em uma única linha, sem quebras;
capMonsterModule (opcional) - Nome do módulo, por exemplo “yandex”. Uma forma alternativa de passar o nome do módulo e a lista de todos os módulos disponíveis está aqui;
Você também pode definir outros parâmetros opcionais:
recognizingThreshold - Limite de confiança do reconhecimento da CAPTCHA, com valores possíveis de 0 a 100;
case - Considerar maiúsculas/minúsculas na solução. Valores possíveis: true, false;
numeric - 1 — se a CAPTCHA contiver apenas números. Valores possíveis: 0, 1;
math - false — padrão não definido;
true — a CAPTCHA exige um cálculo matemático (ex: CAPTCHA 2 + 6 retorna 8).
Importante: não use o parâmetro math: true para o módulo captcha_math.
https://api.capmonster.cloud/createTask{
"clientKey":"API_KEY",
"task": {
"type":"ImageToTextTask",
"body":"BASE64_BODY_HERE!"
}
}
{
"errorId":0,
"taskId":407533072
}https://api.capmonster.cloud/getTaskResult{
"clientKey":"API_KEY",
"taskId": 407533072
}
{
"errorId":0,
"status":"ready",
"solution": {
"text":"answer"
}
}
// npm install playwright @zennolab_com/capmonstercloud-client
// npx playwright install chromium
import { CapMonsterCloudClientFactory, ClientOptions, ImageToTextRequest, CapMonsterModules } from '@zennolab_com/capmonstercloud-client';
import { chromium } from 'playwright';
const API_KEY = "YOUR_API_KEY"; // Insira sua chave de API do CapMonster Cloud
async function solveImageToTextAndFillField() {
const cmcClient = CapMonsterCloudClientFactory.Create(
new ClientOptions({ clientKey: API_KEY })
);
// Verifique o saldo, se necessário
const balance = await cmcClient.getBalance();
console.log("Balance:", balance);
// 1. Inicie o Playwright e abra a página com o formulário
const browser = await chromium.launch({ headless: false });
const context = await browser.newContext();
const page = await context.newPage();
await page.goto("https://example.com/form"); // 2. Obtenha a URL da CAPTCHA da página (exemplo via seletor <img>)
// 2. Obtenha a URL da CAPTCHA da página (exemplo via seletor <img>)
const captchaUrl = await page.getAttribute("#captcha-img", "src");
// 3. Baixe a imagem e converta para Base64
const response = await fetch(captchaUrl);
const imageBuffer = await response.arrayBuffer();
const imageBase64 = Buffer.from(imageBuffer).toString('base64');
// 4. Crie a requisição para resolver a ImageToText
const imageToTextRequest = new ImageToTextRequest({
body: imageBase64,
CapMonsterModule: CapMonsterModules.YandexWave, // ou outro módulo
Case: true,
numeric: 0,
recognizingThreshold: 65,
math: false
});
// 5. Obtenha a solução da CAPTCHA
const result = await cmcClient.Solve(imageToTextRequest);
console.log("Captcha solution:", result.solution.text);
// 6. Insira a solução no campo do formulário e envie
await page.fill("#captcha-input", result.solution.text); // Substitua pelo seu seletor
await page.click("#submit-button"); // Substitua pelo seletor do seu botão
await page.waitForLoadState("networkidle");
console.log("Formulário enviado com a solução da CAPTCHA");
// 7. Feche o navegador
await browser.close();
}
solveImageToTextAndFillField().catch(console.error);
Passo 1. Escolha uma abordagem
Primeiro, decida como irá usar a CAPTCHA:
Opção 1 — fornecedor externo
Adequado se precisar de implementação rápida e suporte mínimo.
Vantagens:
- Integração rápida
- Proteção pronta contra bots
- Não precisa atualizar algoritmos manualmente
Desvantagens:
- Dependência de serviço externo
- Customização limitada
Opção 2 — CAPTCHA de texto personalizada
Adequado se precisar de controle total e integração própria.
Vantagens:
- Controle total sobre lógica e design
- Sem dependências externas
- Pode ser adaptada a cenários específicos
Desvantagens:
- É necessário implementar a proteção contra bots manualmente
- Requer manutenção e ajustes ao longo do tempo
Passo 2. Implemente a geração da CAPTCHA
Para fornecedor externo
- Registre-se no serviço
- Obtenha as chaves (site key / secret key)
- Inclua o script na página do formulário
Para CAPTCHA personalizada
- Gere uma sequência aleatória de caracteres (números ou letras)
- Renderize na imagem (Canvas, SVG ou geração no servidor)
- Adicione distorções: ruído, linhas, rotação dos caracteres
Passo 3. Mostre a CAPTCHA ao usuário
- Insira a imagem da CAPTCHA próxima ao formulário
- Adicione um campo de entrada de texto
- Implemente um botão de atualização da CAPTCHA
Importante: cada carregamento deve gerar um novo código.
Passo 4. Envie os dados para o servidor
Ao enviar o formulário, envie:
- O texto digitado pelo usuário
- ID da CAPTCHA ou token de sessão
Para CAPTCHA personalizada, o código não deve ser armazenado no cliente — apenas no servidor.
Passo 5. Verifique a CAPTCHA no servidor
Fornecedor
- Envie o token da CAPTCHA para o servidor do fornecedor
- Receba o resultado da verificação (sucesso / erro)
CAPTCHA personalizada
- Compare o texto inserido com o valor armazenado
- Considere o tempo de validade da CAPTCHA (ex: 1–2 minutos)
Passo 6. Tome uma decisão
- Se a CAPTCHA for resolvida — execute a ação (login, registro, envio do formulário)
- Se não — exiba um erro e gere uma nova CAPTCHA
Passo 7. Reforce a proteção (recomendado)
Mesmo para CAPTCHA de texto, recomenda-se adicionar:
- Limite de tentativas
- Vinculação ao IP, sessão ou cookie
- Tokens temporários (únicos)
- Registrar atividades suspeitas
Certifique-se de que:
- A CAPTCHA não seja regenerada antes da verificação;
- O código seja armazenado separadamente para cada sessão ou token;
- O tempo de validade da CAPTCHA não tenha expirado.
Captchas suportados
Se você recebeu um site com CAPTCHA ou outro sistema de proteção já instalado e não tem acesso ao código — não se preocupe! É fácil identificar qual tecnologia está sendo usada. Para verificar a funcionalidade, você pode usar o serviço de reconhecimento CapMonster Cloud em um ambiente de teste isolado para garantir que o processamento de tokens e a lógica de verificação funcionem corretamente.
No caso da CAPTCHA de imagem — basta identificar o sistema, estudar seu comportamento e garantir que a proteção funcione corretamente. Este artigo mostrou como identificar a CAPTCHA de imagem (ComplexImage) e como conectá-la ou reconfigurá-la para manter a proteção de forma segura e controlada.