CaptchaAI aceita solicitações nos formatos codificado por formulário e JSON. Ambos funcionam de forma idêntica – escolha com base no seu idioma e preferências.
Comparação lado a lado
Codificado em formulário (padrão)
import requests
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"googlekey": "SITE_KEY",
"pageurl": "https://example.com",
"json": 1,
})
Tipo de conteúdo: application/x-www-form-urlencoded
JSON
import requests
resp = requests.post("https://ocr.captchaai.com/in.php", json={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"googlekey": "SITE_KEY",
"pageurl": "https://example.com",
"json": 1,
})
Tipo de conteúdo: application/json
Principais diferenças
| Fator | Codificado em formulário | JSON |
|---|---|---|
| Tipo de conteúdo | application/x-www-form-urlencoded |
application/json |
| Estrutura de dados | Pares de valores-chave simples | Objetos aninhados possíveis |
| Dados binários | Use multipart para upload de arquivo | Codificação Base64 no campo body |
| Suporte de matriz | Limitado | Nativo |
| Palavra-chave Python | data={} |
json={} |
| Node.js | URLSearchParams |
JSON.stringify() |
| Legibilidade | Simples para parâmetros planos | mais adequado para dados complexos |
| Compatibilidade | Funciona em qualquer lugar | Funciona em qualquer lugar |
Formato de resposta
Adicione json=1 para obter respostas JSON independentemente do formato da solicitação:
# Without json=1 — plain text response
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"googlekey": "SITE_KEY",
"pageurl": "https://example.com",
})
# Response: "OK|12345678"
# With json=1 — JSON response
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"googlekey": "SITE_KEY",
"pageurl": "https://example.com",
"json": 1,
})
# Response: {"status": 1, "request": "12345678"}
Sempre use json=1 para facilitar a análise.
Exemplos de Python
Codificado em formulário
import requests
# Submit
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"googlekey": "SITE_KEY",
"pageurl": "https://example.com",
"json": 1,
})
task_id = resp.json()["request"]
# Poll (always GET with query params)
resp = requests.get("https://ocr.captchaai.com/res.php", params={
"key": "YOUR_API_KEY",
"action": "get",
"id": task_id,
"json": 1,
})
Corpo JSON
import requests
# Submit with JSON
resp = requests.post("https://ocr.captchaai.com/in.php", json={
"key": "YOUR_API_KEY",
"method": "userrecaptcha",
"googlekey": "SITE_KEY",
"pageurl": "https://example.com",
"json": 1,
})
task_id = resp.json()["request"]
# Poll (same as form-encoded — GET with params)
resp = requests.get("https://ocr.captchaai.com/res.php", params={
"key": "YOUR_API_KEY",
"action": "get",
"id": task_id,
"json": 1,
})
Exemplos de Node.js.
Codificado em formulário
const axios = require('axios');
const qs = require('querystring');
// Submit
const resp = await axios.post(
'https://ocr.captchaai.com/in.php',
qs.stringify({
key: 'YOUR_API_KEY',
method: 'userrecaptcha',
googlekey: 'SITE_KEY',
pageurl: 'https://example.com',
json: 1,
})
);
const taskId = resp.data.request;
Corpo JSON
const axios = require('axios');
// Submit with JSON
const resp = await axios.post(
'https://ocr.captchaai.com/in.php',
{
key: 'YOUR_API_KEY',
method: 'userrecaptcha',
googlekey: 'SITE_KEY',
pageurl: 'https://example.com',
json: 1,
}
);
const taskId = resp.data.request;
Imagem CAPTCHA: Formulário vs JSON
Para CAPTCHAs de imagem, o formato é mais importante:
Formulário com upload de arquivo (multiparte)
# File upload — form-encoded with multipart
resp = requests.post("https://ocr.captchaai.com/in.php",
data={
"key": "YOUR_API_KEY",
"method": "post",
"json": 1,
},
files={
"file": open("captcha.png", "rb"),
},
)
JSON com Base64
import base64
# Base64 in JSON body
with open("captcha.png", "rb") as f:
body = base64.b64encode(f.read()).decode()
resp = requests.post("https://ocr.captchaai.com/in.php", json={
"key": "YOUR_API_KEY",
"method": "base64",
"body": body,
"json": 1,
})
Formulário com Base64
# Base64 in form data
resp = requests.post("https://ocr.captchaai.com/in.php", data={
"key": "YOUR_API_KEY",
"method": "base64",
"body": body,
"json": 1,
})
Quando usar qual
| Cenário | Recomendado | Por que |
|---|---|---|
| Scripts simples | Codificado em formulário | Mais simples, menos dependências |
| Integração da API REST | JSON | Corresponde aos padrões típicos da API |
| Uploads de arquivos | Formulário multiparte | Upload binário direto |
| Imagens grandes em base64 | Codificado em formulário | mais adequado manuseio de grandes cargas úteis |
| TypeScript/modern JS | JSON | Suporte a objetos nativos |
| Integração de sistema legado | Codificado em formulário | Compatibilidade universal |
| Migrando do 2Captcha | Codificado em formulário | Mesmo formato do 2Captcha |
Erros Comuns
| Erro | Problema | Correção |
|---|---|---|
Usando json={}, mas sem json: 1 nos dados |
A resposta é texto simples | Incluir "json": 1 nos dados |
Misturando data= e json= em solicitações Python |
Solicitação malformada | Use um ou outro |
| Esquecendo o cabeçalho Content-Type | O servidor não consegue analisar o corpo | Deixe sua biblioteca HTTP configurá-la automaticamente |
| Enviando corpo JSON para endpoint de pesquisa | A enquete usa parâmetros GET | Sempre use GET com parâmetros de consulta para /res.php |
Perguntas frequentes
O formato afeta a velocidade ou a precisão da resolução?
Não. Ambos os formatos produzem resultados idênticos. O servidor os processa da mesma maneira.
Posso misturar formatos no mesmo projeto?
Sim. Você pode enviar com JSON e pesquisar com parâmetros de consulta (que é como a pesquisa sempre funciona). Cada solicitação é independente.
Qual formato é usado pela API compatível com 2Captcha?
A API 2Captcha original usa codificação de formulário. CaptchaAI adiciona suporte JSON no topo. Se você estiver migrando do 2Captcha, opte pelo formulário codificado.
Guias Relacionados
Escolha o formato de sua preferência —experimente a API CaptchaAIhoje.