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:
- Abra Configurações -> HTTPS
- Ative "Capturar tráfego HTTPS"
- Instale o certificado raiz do Fiddler quando solicitado
- Confie no certificado no armazenamento de certificados do seu sistema operacional
Fiddler Clássico (Windows):
- Ferramentas -> Opções -> HTTPS
- Marque "Descriptografar tráfego HTTPS"
- 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
- Clique na guia Filtros
- Adicione uma regra: Host →
contains→ocr.captchaai.com - Aplicar o filtro
Filtros clássicos do Fiddler
- Clique na guia Filtros
- Marque "Usar filtros"
- Em "Hosts", selecione "Mostrar apenas os seguintes hosts"
- 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:
- Regras -> Adicionar Regra
- Correspondência: URL contém
ocr.captchaai.com/in.php - Ação: "Pausar antes de enviar"
Clássico do violinista:
- Regras -> Pontos de interrupção automáticos -> Antes das solicitações
- Ou digite
bpu ocr.captchaai.comna barra QuickExec
O que fazer em um ponto de interrupção
Quando uma solicitação é pausada:
- Inspecione o corpo da solicitação — verifique se todos os parâmetros estão corretos
- Editar parâmetros — altere
method,googlekeyoupageurlpara testar valores diferentes - Retomar — clique em "Executar até a conclusão" para enviar a solicitação modificada
- 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:
- Clique com o botão direito na sessão com falha
- Selecione Replay → Solicitações de reemissão
- A mesma solicitação é enviada novamente com cabeçalhos e corpo idênticos
Para reproduzir com modificações:
- Clique com o botão direito → Editar no Composer **
- Modifique os parâmetros
- 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:
- Selecione as sessões relevantes no Fiddler
- Arquivo → Exportar Sessões → Sessões Selecionadas
- Escolha o formato HTTPArchive (.har)
- 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
- Segurança da chave de API da lista de permissões de IP Captchaai
- Rotação de chave da API Captchaai
- Concorrentes de mapeamento de endpoint da API Captchaai
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: