Skip to content

Friendly Captcha ​

Friendly Captcha — приватная альтернатива капче на основе proof-of-work: браузер решает вычислительную задачу без взаимодействия с пользователем. Виджет встраивается в форму и возвращает токен для отправки.

Формат запроса ​

GET/in.php
keystringобязателен

Ваш API-ключ (32 символа)

methodstringобязателен

Значение: friendly_captcha

pageurlstringобязателен

Полный URL страницы, где отображается виджет

sitekeystringобязателен

Значение data-sitekey у div frc-captcha

proxystringопционально

Формат: login:password@123.123.123.123:3128

proxytypestringопционально

Тип прокси: HTTP, HTTPS, SOCKS4, SOCKS5

jsoninteger (0/1)по умолчанию: 0опционально

0 — ответ текстом, 1 — ответ JSON

Как решать капчу ​

Шаг 1. Найдите сайткей ​

Найдите на странице элемент <div class="frc-captcha"> и возьмите значение его атрибута data-sitekey.

Шаг 2. Отправьте задачу нам ​

bash
curl -G "https://captcha-api.iwhat.pw/in.php" \
  -d key=YOUR_API_KEY \
  -d method=friendly_captcha \
  -d sitekey=FCHT7K3PDN82XR \
  -d pageurl=https://example.com/page \
  -d json=1
python
import requests

params = {
    'key': 'YOUR_API_KEY',
    'method': 'friendly_captcha',
    'sitekey': 'FCHT7K3PDN82XR',
    'pageurl': 'https://example.com/page',
    'json': '1'
}

response = requests.get('https://captcha-api.iwhat.pw/in.php', params=params)
result = response.json()
task_id = result['request']
print(f"ID задачи: {task_id}")
js
const params = new URLSearchParams({
  key: 'YOUR_API_KEY',
  method: 'friendly_captcha',
  sitekey: 'FCHT7K3PDN82XR',
  pageurl: 'https://example.com/page',
  json: '1',
});

const res = await fetch(`https://captcha-api.iwhat.pw/in.php?${params}`);
const { request: taskId } = await res.json();
console.log(`ID задачи: ${taskId}`);

Шаг 3. Получение решения ​

python
import time

time.sleep(10)

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:
    token = result['request']
    print(f"Токен решения: {token}")

Шаг 4. Используем данные ​

python
driver.execute_script(f'document.querySelector("[name=frc-captcha-solution]").value = "{token}";')
driver.find_element_by_tag_name('form').submit()

Формат ответа ​

JSON-ответ (при json=1):

json
{
  "status": 1,
  "request": "a4e91f6c3b7d0285ec9f14a76b3d02f8.Qm7+VtXcRw2NkLp9dYoJfHzUa..."
}

Распространённые ошибки ​

КодОписание
ERROR_WRONG_USER_KEYНеверный формат API-ключа
ERROR_KEY_DOES_NOT_EXISTТакого API-ключа не существует
ERROR_ZERO_BALANCEНедостаточно средств на балансе
ERROR_PAGEURLОтсутствует параметр pageurl
ERROR_WRONG_ID_FORMATНеверный формат id при запросе результата
CAPCHA_NOT_READYРешение ещё не готово, подождите 5 сек

TailCaptcha API Documentation