Solucionador de captcha para
cURL
Resolva o desafio dentro da execução em vez de deixar o job falhar. Um exemplo funcional em Shell e os três fatores que decidem se o seu token é aceito.
curl -X POST "https://api.captchano.com/v1/solve?wait=60" \
-H "Authorization: Bearer cn-YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "recaptcha_v2",
"sitekey": "6LcABC...",
"url": "https://example.com/login",
"proxy": "http://user:pass@host:port"
}'
# 200 OK
# { "id": "slv_…", "status": "ready",
# "solution": { "token": "03AGdBq25S…" },
# "cost": "0.00598", "solveTime": 18.4 }O que decide se o token é aceito
- Repasse seu proxy. O token deve ser gerado por trás do mesmo IP de saída que o envia. Em sistemas que avaliam a sessão, isso é obrigatório, não uma otimização.
- Use o mesmo user agent. O Turnstile e vários sistemas anti-bot vinculam o token a um user agent. Retornamos o que foi usado para que você possa reutilizá-lo exatamente.
- Solicite no último momento. Os tokens expiram em cerca de 120 segundos. Peça um quando estiver pronto para enviar.
Bloqueante ou polling
O exemplo usa ?wait=60, então a chamada retorna a resolução pronta e a sua etapa no cURL continua linear. Se você preferir não manter uma conexão aberta, remova o parâmetro, guarde o id retornado e faça polling em GET /v1/task/{id} a cada cinco segundos. Um token pelo qual você já pagou continua disponível por dez minutos, então uma conexão perdida não faz você perder a resolução.
Custo
$0.00598 por resolução bem-sucedida de reCAPTCHA v2, e resoluções que falham nunca são cobradas. Veja os preços de todos os tipos de desafio ou a referência da API para o formato completo da requisição.
Como a resolução se encaixa no cURL
A API é HTTPS e JSON simples, então o cURL é a forma mais rápida de ver uma resolução de ponta a ponta antes de escrever qualquer código.
- 01Crie uma chave
Crie uma chave de API no painel. Ela começa com cn-.
- 02Envie uma resolução
Faça POST de um JSON com type, sitekey e url para /v1/solve?wait=60 com um header Authorization: Bearer.
- 03Leia a resposta
status, solution.token, cost e solveTime voltam em um único objeto JSON.
- 04Faça polling, se preferir
Remova o ?wait e faça polling em GET /v1/task/{id} a cada poucos segundos.
Colocando o token na página
Você copia o token da resposta JSON para o campo do formulário ou para a requisição que o seu próprio cliente envia.
Onde as integrações costumam dar errado
Envie Content-Type: application/json, caso contrário o corpo não será interpretado.
Coloque o JSON entre aspas simples para que o shell não expanda nada dentro dele.
Perguntas frequentes sobre captcha no cURL
Preciso de um SDK?
Não. A CaptchaNo é uma API REST simples. Qualquer cliente HTTP em qualquer linguagem funciona, e o cURL é a forma mais fácil de experimentar.
Como consulto meu saldo?
Chame GET /v1/balance com o mesmo header Authorization. O painel também mostra o saldo, o uso e todas as resoluções.
O que uma resolução com falha retorna?
Um status failed com um código de erro. Resoluções com falha não são cobradas, então você pode tentar de novo com segurança.
Quanto tempo posso esperar por um resultado?
O parâmetro wait bloqueia por até 120 segundos. A maioria das resoluções retorna bem antes; use polling se o seu cliente não conseguir manter uma conexão aberta por tanto tempo.
Guias que ajudam
Pronto para começar?
Comece com um teste grátis de 3 dias e depois pague por resolução bem-sucedida conforme seu tráfego cresce. Não é preciso cartão para o teste.