Text Captcha
Обзор
Стандартная текстовая капча — это изображение, содержащее искаженный текст, который может прочитать человек. Чтобы решить капчу, пользователи должны ввести текст с изображения.
Текстовая капча может включать цифры, буквы или их комбинацию. Обычно используются искажения изображения, шум и различные шрифты, чтобы затруднить автоматическое чтение.

1. Создание задачи
Запрос
POST https://api.achicaptcha.com/createTask
Параметры
| Параметр | Тип данных | Обязательно? | Описание |
|---|---|---|---|
clientKey | string | да | API ключ |
task.type | string | да | ImageToTextTask |
task.image | string | да | Base64 изображения |
task.subType | string | да | Один из следующих типов: common, amazon, microsoft, facebook, garena, artistshot, gmx, 11166, houssam |
Пример запроса
POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
{
"clientKey": "Your API_KEY",
"task": {
"type": "ImageToTextTask",
"image": "base64 encoded image",
"subType": "gmx"
}
}Ответ
При успехе сервер вернет 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": "swamn"
}Пояснение статусов
errorId = 0иstatus = ready: Успешно решено, читайте результат вsolution.texterrorId = 0иstatus = processing: Капча решается, подождите 2 секунды и попробуйте сноваerrorId > 0: Системная ошибка, предоставлен код ошибки и описание
Опции SubType
Achicaptcha поддерживает различные типы текстовой капчи через параметр subType:
| SubType | Описание |
|---|---|
common | Обычная текстовая капча, самая популярная |
amazon | Капча Amazon со специальным искажением |
microsoft | Капча, используемая в сервисах Microsoft |
facebook | Капча Facebook с характерными шрифтами |
garena | Капча на платформе Garena |
artistshot | Капча с сайта Artistshot |
gmx | Капча электронной почты GMX |
11166 | Специальный тип капчи с кодом 11166 |
houssam | Специфический тип капчи с названием Houssam |
discord | Капча Discord |
okvip | Капча OKVIP |
shopee | Капча Shopee |
Обычно subType: common может обрабатывать все типы текстовой капчи. Если текстовая капча вашего сайта слишком специфична, пожалуйста, свяжитесь с администратором (opens in a new tab) для поддержки.
Примеры интеграции
import requests
import time
import base64
def solve_captcha(image_path, sub_type='common', api_key='YOUR_API_KEY'):
# Read and encode image
with open(image_path, 'rb') as image_file:
image_base64 = base64.b64encode(image_file.read()).decode('utf-8')
# Step 1: Create task
create_task_url = 'https://api.achicaptcha.com/createTask'
create_task_payload = {
'clientKey': api_key,
'task': {
'type': 'ImageToTextTask',
'image': image_base64,
'subType': sub_type
}
}
response = requests.post(create_task_url, json=create_task_payload)
result = response.json()
if result['errorId'] != 0:
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 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'] != 0:
raise Exception(result['errorDescription'])
if result['status'] == 'ready':
return result['solution']
# If status == 'processing', continue loop
# Usage
solution = solve_captcha('captcha.png', 'common', 'YOUR_API_KEY')
print('Captcha result:', solution)Коды общих ошибок
| Код ошибки | Описание | Примечания |
|---|---|---|
| 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. Качество изображения
- Используйте изображения с хорошим разрешением
- Убедитесь, что изображения не слишком размыты или зашумлены
- Выберите подходящий
subTypeдля вашего типа капчи
2. Интервал опроса
- Ждите не менее 2 секунд между проверками результата
- Не отправляйте слишком много последовательных запросов к API
- Установите тайм-аут, чтобы избежать бесконечных циклов
3. Логика повторных попыток
- Реализуйте повторные попытки для временных ошибок, таких как
ERROR_NO_SLOT_AVAILABLE - Используйте экспоненциальную задержку при повторных попытках
- Ограничьте максимальное количество попыток
4. Безопасность API ключа
- Не прописывайте API ключ жестко в коде
- Используйте переменные окружения
- Не раскрывайте API ключ на стороне клиента
Полезные ссылки: