A resolução de Cloudflare Turnstile em staging é mais complexa do que outros tipos de CAPTCHA porque requer correspondência de proxy, ligação de IP e consistência de agente de usuário. Aqui estão os erros mais comuns e como corrigir cada um deles.
Erros de envio da API
ERROR_BAD_PARAMETERS
Causa: Parâmetros obrigatórios ausentes.
Correção: Cloudflare Turnstile em staging requer estes parâmetros:
method=turnstile_staging
pageurl=https://example.com
proxy=user:pass@host:port
proxytype=HTTP
Todos os quatro são obrigatórios. Ao contrário do Turnstile ou do reCAPTCHA, o proxy é obrigatório.
ERROR_PROXY_CONNECTION_FAILED
Causa: CaptchaAI não consegue se conectar através do seu proxy.
Correção:
- Test the proxy independently:
curl -x http://user:pass@host:port https://httpbin.org/ip - Certifique-se de que o proxy seja compatível com HTTPS
- Verifique os requisitos de lista de permissões de IP em seu provedor de proxy
- Experimente um proxy diferente do mesmo provedor
ERROR_PROXY_BANNED
Causa: Seu IP proxy está bloqueado pela Cloudflare.
Correção:
- Mude para um egress de rede autorizado ou ISP
- IPs de datacenter são fortemente sinalizados pela Cloudflare
- Gire para um novo IP e tente novamente
ERROR_CAPTCHA_UNSOLVABLE
Causa: O desafio não pôde ser resolvido, mesmo após novas tentativas.
Correção:
- O site pode ter alterado as configurações do Cloudflare
- Tente um proxy diferente (o próprio IP do proxy pode estar bloqueado)
- Aguarde 5 minutos e tente novamente — Cloudflare pode estar em modo de segurança reforçada
- Verifique se o URL da página ainda mostra Cloudflare Turnstile em staging
Erros de cookies cookie_qa_validacao
Cookie rejeitado – o site ainda mostra desafio
Causa: incompatibilidade de IP entre solução e uso.
Correção: Use exatamente o mesmo proxy para solicitações subsequentes:
# WRONG — different proxy for solving and requests
solve_proxy = "proxy1.example.com:8080"
request_proxy = "proxy2.example.com:8080"
# CORRECT — same proxy for both
proxy = "user:pass@proxy1.example.com:8080"
# Submit solve with this proxy
response = requests.get("https://ocr.captchaai.com/in.php", params={
"key": API_KEY,
"method": "turnstile_staging",
"pageurl": "https://example.com",
"proxy": proxy,
"proxytype": "HTTP",
"json": 1
})
# Use the SAME proxy for page requests
session = requests.Session()
session.cookies.set("cookie_qa_validacao", solved_cookie)
session.proxies = {"https": f"http://{proxy}"}
Cookie rejeitado – incompatibilidade de agente de usuário
Causa: User-Agent diferente entre resolução e solicitações.
Correção: Use o agente do usuário retornado na resposta de resolução:
solution = result["request"]
# Extract and reuse the exact user agent
user_agent = solution.get("user_agent")
session = requests.Session()
session.headers["User-Agent"] = user_agent # Must match exactly
session.cookies.set("cookie_qa_validacao", solution["cookie_qa_validacao"])
Cookie expirou
Causa: cookie_qa_validacao tem um TTL limitado (normalmente de 15 minutos a 24 horas).
Correção:
- Verifique quando você obteve o cookie
- Resolva antes que o TTL expire
- Implemente a resolução automática ao receber uma resposta da página de desafio
def make_request(url, session):
response = session.get(url)
if "challenge" in response.text.lower() or response.status_code == 403:
# Cookie expired — re-solve
new_cookie = solve_turnstile_staging(url, proxy)
session.cookies.set("cookie_qa_validacao", new_cookie)
response = session.get(url)
return response
Erros de tempo limite
A resolução demora muito (>5 minutos)
Causa: as páginas Cloudflare Turnstile em staging podem ficar lentas quando o proxy é lento ou o desafio é complexo.
Correção:
- Use um proxy com menor latência com menor latência
- Aumente o tempo limite da votação para 60 tentativas (5 minutos)
- Verifique se o site realmente possui um Cloudflare Turnstile em staging versus uma proteção diferente
CAPCHA_NOT_READY persiste
Causa: A solução ainda está em andamento.
Correção:
- Cloudflare Turnstile em stagings levam de 20 a 60 segundos, mais do que outros tipos
- Pesquise a cada 5 segundos por até 60 tentativas
- Se ainda não estiver pronto após 5 minutos, aborte e tente novamente com um proxy diferente
Erros comuns de integração
| Erro | Result | Correção |
|---|---|---|
| Parâmetro de proxy ausente | ERROR_BAD_PARAMETERS |
Sempre inclua proxy para CF Challenge |
| Usando proxy de datacenter | ERROR_PROXY_BANNED |
Use proxies residenciais |
| UA diferente para solicitações | Cookie rejeitado | Reutilize o UA da solução |
| IP diferente para solicitações | Cookie rejeitado | Use o mesmo proxy para todas as solicitações |
| Não configurando domínio de cookie | Cookie não enviado | Defina o domínio como .example.com (com prefixo de ponto) |
| Usando HTTP em vez de HTTPS | Falha na conexão | Cloudflare requer HTTPS |
Lista de verificação de depuração
- ✅ A página está realmente por trás de Cloudflare Turnstile em staging? (não catraca ou reCAPTCHA)
- ✅ Todos os parâmetros necessários estão incluídos? (método, pageurl, proxy, proxytype)
- ✅ O proxy funciona? Teste com
curl - ✅ O proxy é residencial ou ISP? (IPs do datacenter são banidos)
- ✅ Você está usando o mesmo proxy para resolver solicitações AND?
- ✅ Você está usando o agente de usuário retornado para solicitações?
- ✅ O cookie está sendo definido no domínio correto?
- ✅ O cookie ainda está dentro do seu TTL?
Perguntas frequentes
Por que o proxy é necessário para Cloudflare Turnstile em staging, mas não para reCAPTCHA?
Cloudflare vincula o cookie cookie_qa_validacao ao endereço IP. A solução deve acontecer a partir do mesmo IP que você usará nas solicitações subsequentes. Os tokens reCAPTCHA não são vinculados a IP.
Posso usar proxies SOCKS5?
Sim. Defina proxytype=SOCKS5 e formate o proxy como user:pass@host:port.
Como posso saber se meu cookie ainda é válido?
Faça uma solicitação com o cookie. Se você obtiver uma resposta 200 com o conteúdo da página, é válido. Se você receber um erro 403 ou vir “Verificando seu navegador”, o cookie expirou.
Por que continuo recebendo ERROR_CAPTCHA_UNSOLVABLE?
Isso geralmente significa que o IP do proxy está fortemente sinalizado pela Cloudflare. Gire para um novo IP residencial. Se o erro persistir em vários IPs novos, o site pode ter configurações extremamente rígidas do Cloudflare.
Guias relacionados
- Como funciona o Cloudflare Turnstile em staging
- Como resolver Cloudflare Turnstile em staging usando API
- Como funciona o Cloudflare Turnstile
- Referência de códigos de erro CaptchaAI