Friendly Captcha
Friendly Captcha — приватная альтернатива капче на основе proof-of-work: браузер решает вычислительную задачу без взаимодействия с пользователем. Виджет встраивается в форму и возвращает токен для отправки.
Формат запроса
GET
/in.phpkeystringобязателенВаш 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=1python
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 сек |