ReCAPTCHA Image (Телефон)
Обзор
Решение Recaptcha с ультра-быстрой скоростью, топ-1 точность на рынке. Мы предоставляем услуги по решению всех типов ReCaptcha Image на телефонах.
📱
Этот сервис позволяет отправлять изображения капчи и получать индексы ячеек, по которым нужно кликнуть для решения капчи.

1. Создание задачи
Запрос
POST https://api.achicaptcha.com/createTask
Параметры
| Имя параметра | Тип данных | Обязательно? | Описание |
|---|---|---|---|
clientKey | string | да | Api ключ |
task.type | string | да | ReCaptchaPhoneTask |
task.subType | string | да | Значение равно 0 |
task.image | string | да | Изображение капчи в формате base64, захватите область отображения изображения капчи (без рамки, только маленькие квадратные ячейки) |
task.other | string | да | Вопрос|Количество сеток • Вопрос: "Select all images with a bus" (full question text shown in the captcha prompt) • Количество сеток: 3 (или 4, 5) → other: "Select all images with a bus|4" |
Пример запроса
POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"task": {
"type": "ReCaptchaPhoneTask",
"subType": "0",
"image": "iVBORw0KGgoAAAANSUhEUgAA...(base64 encoded image)",
"other": "Select all images with a bus|4"
}
}Ответ
При успехе сервер возвращает errorId = 0 и taskId
{
"errorId": 0,
"taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}2. Получение результата
Запрос
POST https://api.achicaptcha.com/getTaskResult
Параметры
| Имя параметра | Тип данных | Обязательно? | Описание |
|---|---|---|---|
clientKey | string | да | Api ключ |
taskId | string | да | TaskId, полученный из (1) |
Пример запроса
POST /getTaskResult HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "YOUR_API_KEY",
"taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}Ответ
{
"errorId": 0,
"status": "ready",
"solution": "0,5,9"
}Примечание: Для типа "grid", решение — это список индексов изображений для клика, начиная с 0
Пояснение статусов
errorId = 0: Успешно решено, читайте результат вsolutionerrorId = 1: Решение капчи, подождите 2-3 секунды и попробуйте сноваerrorId > 1: Системная ошибка, возвращает код ошибки и описание
Примеры интеграции
import requests
import time
def solve_recaptcha_phone(image_base64, question, grid_count, api_key='YOUR_API_KEY'):
# Step 1: Create task
create_task_url = 'https://api.achicaptcha.com/createTask'
create_task_payload = {
'clientKey': api_key,
'task': {
'type': 'ReCaptchaPhoneTask',
'subType': '0',
'image': image_base64,
'other': f'{question}|{grid_count}'
}
}
response = requests.post(create_task_url, json=create_task_payload)
result = response.json()
if result['errorId'] > 1:
raise Exception(result['errorDescription'])
task_id = result['taskId']
# Step 2: Get result
get_result_url = 'https://api.achicaptcha.com/getTaskResult'
while True:
time.sleep(2) # Wait 2-3 seconds
get_result_payload = {
'clientKey': api_key,
'taskId': task_id
}
response = requests.post(get_result_url, json=get_result_payload)
result = response.json()
if result['errorId'] > 1:
raise Exception(result['errorDescription'])
if result['status'] == 'ready':
return result['solution'] # Returns "0,5,9" - indices to click
# If status == 'processing', continue loop
# Usage
image_base64 = 'iVBORw0KGgoAAAANSUhEUgAA...' # Base64 encoded captcha image
question = 'Select all images with a bus' # Full question text from the captcha prompt
grid_count = 4 # Grid count (3, 4, or 5)
solution = solve_recaptcha_phone(image_base64, question, grid_count, 'YOUR_API_KEY')
print('Grid indices to click:', solution) # Example: "0,5,9"
# Use solution to click corresponding cells
indices = [int(i) for i in solution.split(',')]
for index in indices:
# Click cell with corresponding index
print(f'Click cell index: {index}')Коды общих ошибок
| Код ошибки | Описание | Примечания |
|---|---|---|
| 0 | success | Успешно |
| 1 | processing | В обработке |
| 2 | missing required fields | Отсутствуют обязательные поля, проверьте параметры |
| 3 | task not supported | Тип задачи не поддерживается |
| 4 | task creation failed | Ошибка создания задачи |
| 5 | client key does not exist | API ключ не существует, проверьте API ключ |
| 6 | insufficient account balance | Недостаточно средств на счете, пополните баланс |
| 7 | task failed, please create a new task | Задача не выполнена, пожалуйста, создайте новую задачу |
| 8 | task ID does not exist | ID задачи не существует |
Лучшие практики
Для достижения наилучших результатов при использовании Achicaptcha API следуйте этим принципам:
1. Подготовка изображения капчи
- Четко захватите область отображения капчи, без рамок или других элементов интерфейса
- Включайте только маленькие квадратные ячейки (сетку) капчи
- Изображение в формате base64
- Убедитесь, что изображение имеет достаточное разрешение для распознавания
2. Определение точной информации
- Получите вопрос из жирной части текста капчи (пример: "Select all images with a bus", "Select all squares with traffic lights")
- Определите правильное количество сеток (3x3, 4x4 или 5x5)
- Правильно отформатируйте
other: "question|grid_count" (пример: "Select all images with a bus|4")
3. Интервал опроса
- Ждите не менее 2-3 секунд между проверками результата
- Не отправляйте слишком много последовательных запросов к API
- Установите тайм-аут, чтобы избежать бесконечных циклов (рекомендуется 120 секунд)
4. Обработка результатов
- Возвращаемое решение — это строка индексов для клика, разделенных запятыми (пример: "0,5,9")
- Индекс начинается с 0, считая слева направо, сверху вниз
- Распарсите строку и кликните по соответствующим ячейкам
5. Логика повторных попыток
- Реализуйте повторные попытки для временных ошибок, таких как
ERROR_NO_SLOT_AVAILABLE - Используйте экспоненциальную задержку при повторных попытках
- Ограничьте максимальное количество попыток
6. Безопасность API ключа
- Не прописывайте API ключ жестко в коде
- Используйте переменные окружения
- Не раскрывайте API ключ на стороне клиента
Полезные ссылки: