Обычная капча
Обычная капча (текстовая, image-based) — картинка с искажённым, но читаемым текстом: буквы и/или цифры, одно или несколько слов. Сервис распознаёт текст на изображении и возвращает его строкой.
Формат запроса
/in.phpkeystringобязателенВаш API-ключ (32 символа)
methodstringобязателенЗначение: post (файл) или base64 (строка)
filefileопциональноФайл изображения (form-data). Обязателен при method=post
bodystringопциональноИзображение в Base64. Обязателен при method=base64
regsenseinteger (0/1)по умолчанию: 0опционально1 — учитывать регистр символов
numericinteger (0/1)по умолчанию: 0опционально1 — капча содержит только цифры
modulestringопциональноКод специализированной модели распознавания вместо базовой OCR — см. список моделей
jsoninteger (0/1)по умолчанию: 0опционально0 — ответ текстом, 1 — ответ JSON
Требования к изображению
От 100 байт до 100 КБ, формат JPG, JPEG, PNG или GIF, текст на изображении должен быть чётко виден.
Модель под конкретный сайт
Если капча — с известного сайта или сервиса (Facebook, Steam, Яндекс, ВКонтакте и т.д.), укажите подходящий module — это точнее универсальной OCR. Полный список — на странице Модели для капчи-изображений.
Как решать капчу
Шаг 1. Подготовьте изображение
Сохраните картинку с капчей как есть, без обрезки — в формате JPG, JPEG, PNG или GIF.
Шаг 2. Отправьте задачу нам
curl -X POST "https://captcha-api.iwhat.pw/in.php" \
-F key=YOUR_API_KEY \
-F method=post \
-F file=@captcha.jpg \
-F json=1import requests
with open('captcha.jpg', 'rb') as f:
response = requests.post('https://captcha-api.iwhat.pw/in.php', data={
'key': 'YOUR_API_KEY',
'method': 'post',
'json': '1',
}, files={'file': f})
task_id = response.json()['request']
print(f"ID задачи: {task_id}")import { readFileSync } from 'fs';
const form = new FormData();
form.append('key', 'YOUR_API_KEY');
form.append('method', 'post');
form.append('json', '1');
form.append('file', new Blob([readFileSync('captcha.jpg')]));
const res = await fetch('https://captcha-api.iwhat.pw/in.php', { method: 'POST', body: form });
const { request: taskId } = await res.json();
console.log(`ID задачи: ${taskId}`);Шаг 3. Получение решения
import time
time.sleep(5)
result = requests.get('https://captcha-api.iwhat.pw/res.php', params={
'key': 'YOUR_API_KEY',
'action': 'get',
'id': task_id,
'json': '1',
}).json()
if result['status'] == 1:
text = result['request']
print(f"Распознанный текст: {text}")Шаг 4. Используем данные
driver.find_element_by_name('captcha_input').send_keys(text)
driver.find_element_by_tag_name('form').submit()Формат ответа
JSON-ответ (при json=1):
{
"status": 1,
"request": "Xk4mQ7pR"
}Распространённые ошибки
| Код | Описание |
|---|---|
ERROR_WRONG_USER_KEY | Неверный формат API-ключа |
ERROR_KEY_DOES_NOT_EXIST | Такого API-ключа не существует |
ERROR_ZERO_BALANCE | Недостаточно средств на балансе |
ERROR_WRONG_FILE_EXTENSION | Неподдерживаемый формат файла |
ERROR_ZERO_CAPTCHA_FILESIZE | Файл пустой или повреждён |
ERROR_TOO_BIG_CAPTCHA_FILESIZE | Файл превышает 100 КБ |
CAPCHA_NOT_READY | Решение ещё не готово, подождите 5 сек |
Советы и рекомендации
- Используйте
regsense=1, если регистр символов важен для проверки - Используйте
numeric=1для капч, состоящих только из цифр - Загружайте несжатые изображения хорошего качества — это повышает точность распознавания