Tutoriais

Usando o Fiddler para inspecionar o tráfego da API CaptchaAI

Quando a solução CAPTCHA falha e seus logs não mostram detalhes suficientes, a interceptação do tráfego HTTP real revela o que está acontecendo. O Fiddler captura cada solicitação e resposta entre seu código e a API CaptchaAI, permitindo que você veja cargas, cabeçalhos e tempo exatos.

Quando usar o Fiddler para depuração

Cenário O que o violinista revela
A API retorna erros, mas seus logs de código são escassos Corpo completo da solicitação, cabeçalhos e resposta
As solicitações de resolução parecem travar Se as solicitações estão chegando ao servidor ou expirando
O token parece inválido quando injetado Conteúdo exato do token e quaisquer problemas de codificação
Falhas relacionadas ao proxy Se as solicitações são roteadas pelo proxy esperado
Problemas de limite de taxa Tempo de solicitação e 429 padrões de resposta

Configurando o Fiddler para tráfego HTTPS

Etapa 1: instalar e configurar a descriptografia HTTPS

O Fiddler atua como um proxy local que intercepta o tráfego HTTPS. Você precisa ativar a descriptografia HTTPS para ver as cargas úteis da API CaptchaAI:

Violinista em todos os lugares:

  1. Abra Configurações -> HTTPS
  2. Ative "Capturar tráfego HTTPS"
  3. Instale o certificado raiz do Fiddler quando solicitado
  4. Confie no certificado no armazenamento de certificados do seu sistema operacional

Fiddler Clássico (Windows):

  1. Ferramentas -> Opções -> HTTPS
  2. Marque "Descriptografar tráfego HTTPS"
  3. Clique em "Ações" → "Certificado Raiz Confiável"

Etapa 2: configure seu código para usar o proxy do Fiddler

O Fiddler ouve no 127.0.0.1:8866 (Fiddler Everywhere) ou 127.0.0.1:8888 (Fiddler Classic).

Python (solicitações):

import requests

proxies = {
    "http": "http://127.0.0.1:8866",
    "https": "http://127.0.0.1:8866",
}

# Submit CAPTCHA task through Fiddler
response = requests.post(
    "https://ocr.captchaai.com/in.php",
    data={
        "key": "YOUR_API_KEY",
        "method": "userrecaptcha",
        "googlekey": "SITE_KEY",
        "pageurl": "https://example.com",
        "json": 1,
    },
    proxies=proxies,
    verify=False,  # Required for Fiddler's self-signed cert
)
print(response.json())

JavaScript (Node.js com axios):

const axios = require("axios");
const HttpsProxyAgent = require("https-proxy-agent");

const agent = new HttpsProxyAgent("http://127.0.0.1:8866");

async function submitTask() {
  const response = await axios.post(
    "https://ocr.captchaai.com/in.php",
    new URLSearchParams({
      key: "YOUR_API_KEY",
      method: "userrecaptcha",
      googlekey: "SITE_KEY",
      pageurl: "https://example.com",
      json: 1,
    }),
    {
      httpsAgent: agent,
      proxy: false, // Disable axios default proxy handling
    }
  );
  console.log(response.data);
}

submitTask();

Observação: verify=False (Python) desativa a verificação SSL para o certificado de interceptação do Fiddler. Use isso apenas durante a depuração – remova-o na produção.

Filtrando tráfego CaptchaAI

Adicione filtros para ver apenas solicitações CaptchaAI em uma sessão ocupada.

Filtros do Fiddler em todos os lugares

  1. Clique na guia Filtros
  2. Adicione uma regra: Hostcontainsocr.captchaai.com
  3. Aplicar o filtro

Filtros clássicos do Fiddler

  1. Clique na guia Filtros
  2. Marque "Usar filtros"
  3. Em "Hosts", selecione "Mostrar apenas os seguintes hosts"
  4. Digite: ocr.captchaai.com

Agora apenas as solicitações da API CaptchaAI aparecem na lista de sessões.

Inspecionando Solicitação e Resposta

Enviar solicitação (in.php)

Ao capturar o envio de uma tarefa, inspecione estes campos no Fiddler:

Painel O que verificar
Cabeçalhos O tipo de conteúdo deve ser application/x-www-form-urlencoded
Solicitar Corpo Verifique se key, method, googlekey/ZZTOKEN3ZZ, pageurl estão corretos
Corpo de resposta Deve retornar {"status":1,"request":"TASK_ID"} em caso de sucesso
Código de Resposta 200 = OK, 403 = problema principal, 429 = taxa limitada

Solicitação de enquete (res.php)

Ao pesquisar resultados:

Painel O que verificar
Solicitar Corpo key, action=get, id=TASK_ID, json=1
Corpo de resposta CAPCHA_NOT_READY durante o processamento, {"status":1,"request":"TOKEN"} em caso de sucesso
Tempo Verifique os intervalos entre as pesquisas – deve ser de mais de 5 segundos

Problemas comuns visíveis no Fiddler

O que você vê Significado
O corpo da solicitação tem googlekey vazio A extração do sitekey falhou no upstream
Resposta: {"status":0,"request":"ERROR_WRONG_USER_KEY"} A chave de API é inválida
Resposta: {"status":0,"request":"ERROR_ZERO_BALANCE"} A conta não tem fundos
Resposta: {"status":0,"request":"ERROR_NO_SLOT_AVAILABLE"} Servidor ocupado – tente novamente
Sem resposta (tempo limite) Rede/proxy bloqueando a conexão
Código de status 429 Muitas solicitações — lentidão na votação

Usando pontos de interrupção

Os pontos de interrupção pausam as solicitações antes de serem enviadas, permitindo que você as modifique:

Definindo um ponto de interrupção

Violinista em todos os lugares:

  1. Regras -> Adicionar Regra
  2. Correspondência: URL contém ocr.captchaai.com/in.php
  3. Ação: "Pausar antes de enviar"

Clássico do violinista:

  1. Regras -> Pontos de interrupção automáticos -> Antes das solicitações
  2. Ou digite bpu ocr.captchaai.com na barra QuickExec

O que fazer em um ponto de interrupção

Quando uma solicitação é pausada:

  1. Inspecione o corpo da solicitação — verifique se todos os parâmetros estão corretos
  2. Editar parâmetros — altere method, googlekey ou pageurl para testar valores diferentes
  3. Retomar — clique em "Executar até a conclusão" para enviar a solicitação modificada
  4. Verifique a resposta — veja se sua alteração corrigiu o problema

Isso é útil para testar se um valor de parâmetro está causando falhas sem alterar o código.

Repetindo solicitações com falha

Quando uma solicitação falha, você pode reproduzi-la no Fiddler:

  1. Clique com o botão direito na sessão com falha
  2. Selecione ReplaySolicitações de reemissão
  3. A mesma solicitação é enviada novamente com cabeçalhos e corpo idênticos

Para reproduzir com modificações:

  1. Clique com o botão direito → Editar no Composer **
  2. Modifique os parâmetros
  3. Clique em Executar

Isso permite testar correções sem reiniciar seu aplicativo.

Compondo solicitações de teste

Use o Composer do Fiddler para criar solicitações CaptchaAI do zero:

Envio de tarefa:

POST https://ocr.captchaai.com/in.php
Content-Type: application/x-www-form-urlencoded

key=YOUR_API_KEY&method=userrecaptcha&googlekey=SITE_KEY&pageurl=https://example.com&json=1

Enquete de resultados:

GET https://ocr.captchaai.com/res.php?key=YOUR_API_KEY&action=get&id=TASK_ID&json=1

Isso é com menor latência do que escrever código quando você deseja apenas verificar se a API está funcionando.

Analisando o tempo

A visualização da linha do tempo do Fiddler mostra a duração da solicitação:

Métrica Valor Saudável Indicador de problema
Pesquisa de DNS <50ms > 500 ms = problema de DNS
Conexão TCP <100ms > 1000ms = problema de rede
Aperto de mão TLS <200ms > 1000ms = emissão de certificado
Resposta do servidor (in.php) <500ms > 2.000 ms = congestionamento do servidor
Resposta do servidor (res.php) <200ms > 1000ms = incomum — verifique o status

Exportando sessões para suporte

Se você precisar compartilhar dados de depuração com suporte CaptchaAI:

  1. Selecione as sessões relevantes no Fiddler
  2. Arquivo → Exportar Sessões → Sessões Selecionadas
  3. Escolha o formato HTTPArchive (.har)
  4. Remova sua chave de API do arquivo exportado antes de compartilhar
Find and replace your actual API key with "REDACTED" in the .har file

Solução de problemas

Problema Causa Correção
Fiddler não mostra tráfego Código não roteado pelo proxy do Fiddler Defina o proxy como 127.0.0.1:8866 (Everywhere) ou 8888 (Classic)
Erros de certificado SSL O certificado raiz do Fiddler não é confiável Reinstale o certificado do Fiddler; adicionar a raízes confiáveis
Fiddler mostra corpo de resposta ilegível A resposta está compactada Habilite o botão "Decodificar" na barra de ferramentas (ou Regras → Remover todas as codificações)
Pontos de interrupção não são acionados Incompatibilidade de filtro ou regra Verifique se o padrão de URL corresponde exatamente a ocr.captchaai.com
O trânsito aparece, mas o corpo está vazio Incompatibilidade de comprimento de conteúdo ou resposta de streaming Clique em sessão e aguarde o carregamento da resposta completa

Perguntas frequentes

O uso do Fiddler afeta o tempo de resolução do CAPTCHA?

Minimamente. O Fiddler adiciona cerca de 1 a 5 ms de latência por solicitação devido ao salto do proxy. Isso é insignificante em comparação com os tempos de resolução do CAPTCHA (10–60 segundos). Para depuração de tempo crítico, observe que os carimbos de data/hora do Fiddler refletem quando o Fiddler recebeu os dados, não quando seu código os enviou.

Posso usar o Fiddler com solução CAPTCHA baseada em navegador?

Sim. Configure seu navegador para usar o Fiddler como proxy e você verá todas as solicitações relacionadas ao CAPTCHA, incluindo carregamento de widget, recuperação de desafio e envio de token. Isso é útil para entender todo o ciclo de vida do CAPTCHA.

Devo usar o Fiddler Classic ou o Fiddler Everywhere?

O Fiddler Everywhere é multiplataforma (Windows, macOS, Linux) com uma interface de usuário moderna. O Fiddler Classic é apenas para Windows, mas possui recursos de script mais avançados (FiddlerScript). Para depuração básica do CaptchaAI, qualquer um deles funciona.

Artigos relacionados

Próximas etapas

Mensagens de erro claras da API tornam a depuração com menor latência –comece com CaptchaAIe use o Fiddler quando precisar de uma inspeção mais profunda no nível da solicitação.

Guias relacionados:

Os comentários estão desativados para este artigo.