Skip to content
API
Facebook капча

Facebook Captcha

Обзор

Facebook Captcha — это система безопасности, используемая Facebook для предотвращения спама, ботов и нежелательных автоматизированных действий. Это текстовая капча с характерным шрифтом Facebook.

📘

Facebook Captcha обычно появляется при входе в систему, регистрации новых аккаунтов или когда Facebook обнаруживает необычную активность с вашего аккаунта.

Facebook Captcha

1. Создание задачи

Запрос

POST https://api.achicaptcha.com/createTask

Параметры

Имя параметраТип данныхОбязательно?Описание
clientKeystringдаApi ключ
task.typestringдаImageToTextTask
task.imagestringдаbase64 изображения капчи Facebook
task.subTypestringдаfacebook

Пример запроса

POST /createTask HTTP/1.1
Host: api.achicaptcha.com
Content-Type: application/json
 
{
  "clientKey": "YOUR_API_KEY",
  "task": {
    "type": "ImageToTextTask",
    "image": "base64 encoded Facebook captcha image",
    "subType": "facebook"
  }
}

Ответ

При успехе сервер возвращает errorId = 0 и taskId

{
  "errorId": 0,
  "taskId": "f2fc70d6-c76b-4fba-9480-205ac1fe9fb9"
}

2. Получение результата

Запрос

POST https://api.achicaptcha.com/getTaskResult

Параметры

Имя параметраТип данныхОбязательно?Описание
clientKeystringдаApi ключ
taskIdstringда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": "2m7k8x"
}

Пояснение статусов

  • errorId = 0 и status = ready: Успешно решено, читайте результат в solution
  • errorId = 0 и status = processing: Решение капчи, подождите 2 секунды и попробуйте снова
  • errorId > 0: Системная ошибка, возвращает код ошибки и описание

Примеры интеграции

import requests
import time
import base64
 
def solve_facebook_captcha(image_path, 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': 'facebook'
        }
    }
    
    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_facebook_captcha('facebook_captcha.png', 'YOUR_API_KEY')
print('Facebook captcha result:', solution)

Коды общих ошибок

Код ошибкиОписаниеПримечания
0successУспешно
1processingВ обработке
2missing required fieldsОтсутствуют обязательные поля, проверьте параметры
3task not supportedТип задачи не поддерживается
4task creation failedОшибка создания задачи
5client key does not existAPI ключ не существует, проверьте API ключ
6insufficient account balanceНедостаточно средств на счете, пополните баланс
7task failed, please create a new taskЗадача не выполнена, пожалуйста, создайте новую задачу
8task ID does not existID задачи не существует

Лучшие практики

Для достижения наилучших результатов при использовании Achicaptcha API следуйте этим принципам:

1. Качество изображения

  • Используйте изображения высокого разрешения
  • Убедитесь, что изображения не слишком размыты или зашумлены
  • Захватывайте или обрезайте правильную область капчи Facebook

2. Интервал опроса

  • Ждите не менее 2 секунд между проверками результата
  • Не отправляйте слишком много последовательных запросов к API
  • Установите тайм-аут, чтобы избежать бесконечных циклов

3. Логика повторных попыток

  • Реализуйте повторные попытки для временных ошибок, таких как ERROR_NO_SLOT_AVAILABLE
  • Используйте экспоненциальную задержку при повторных попытках
  • Ограничьте максимальное количество попыток

4. Безопасность API ключа

  • Не прописывайте API ключ жестко в коде
  • Используйте переменные окружения
  • Не раскрывайте API ключ на стороне клиента

Полезные ссылки: