Skip to content

GeeTest V3 ​

GeeTest V3 — интерактивная CAPTCHA, которая обычно требует от пользователя перетащить пазл на нужное место или выбрать изображения в определённой последовательности. Наш сервис автоматизирует этот процесс, анализируя задание и возвращая корректные значения ответа, необходимые для прохождения проверки.

Обзор ​

GeeTest V3 обычно выглядит как:

  • Slide Puzzle — перетаскивание фрагмента для совмещения с фоном
  • Click Sequence — выбор изображений в определённом порядке
  • Gap Fill — перемещение элементов на правильные позиции
  • Возвращает три значения (challenge, validate, seccode), которые нужно отправить вместе

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

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

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

methodstringобязателен

Значение: geetest

gtstringобязателен

Публичный ключ сайта (обычно статичный)

challengestringобязателен

Динамический токен, загружаемый вместе с капчей (должен быть свежим)

pageurlstringобязателен

Полный URL-адрес текущей страницы

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

User-Agent, передаваемая в браузер решателя

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

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

ВАЖНО

Параметр challenge становится недействительным после загрузки или по истечении таймаута. Всегда получайте свежий challenge непосредственно перед отправкой на решение.

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

Шаг 1. Извлеките параметры GeeTest ​

Найдите динамические параметры GeeTest на целевом сайте — обычно они передаются в функцию initGeetest:

  • gt — публичный ключ сайта (обычно статичный)
  • challenge — динамический токен, загружаемый вместе с капчей (должен быть свежим)
  • pageurl — полный URL текущей страницы

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

bash
curl -G "https://captcha-api.iwhat.pw/in.php" \
  -d key=YOUR_API_KEY \
  -d method=geetest \
  -d gt=7ec9a234f0b8451dc36f8a209e4d17bc \
  -d challenge=9f4b1cd08a763e2f5061bc3d9a7e40f18c2 \
  -d pageurl=https://example.com/page \
  -d json=1
python
import requests

params = {
    'key': 'YOUR_API_KEY',
    'method': 'geetest',
    'gt': '7ec9a234f0b8451dc36f8a209e4d17bc',
    'challenge': '9f4b1cd08a763e2f5061bc3d9a7e40f18c2',
    '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: 'geetest',
  gt: '7ec9a234f0b8451dc36f8a209e4d17bc',
  challenge: '9f4b1cd08a763e2f5061bc3d9a7e40f18c2',
  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
import json

time.sleep(15)

params = {
    'key': 'YOUR_API_KEY',
    'action': 'get',
    'id': task_id,
    'json': '1'
}

response = requests.get('https://captcha-api.iwhat.pw/res.php', params=params)
result = response.json()

if result['status'] == 1:
    solution = json.loads(result['request'])
    print(f"Challenge: {solution['challenge']}")
    print(f"Validate: {solution['validate']}")
    print(f"Seccode: {solution['seccode']}")

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

python
data = {
    'username': 'user@example.com',
    'password': 'password123',
    'geetest_challenge': solution['challenge'],
    'geetest_validate': solution['validate'],
    'geetest_seccode': solution['seccode']
}

response = requests.post('https://example.com/api/login', data=data)
print(response.text)

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

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

json
{
  "status": 1,
  "request": "{\"challenge\": \"1a2b3456cd67890e12345fab678901c2de\", \"validate\": \"09fe8d7c6ba54f32e1dcb0a9fedc8765\", \"seccode\": \"12fe3d4c56789ba01f2e345d6789c012|jordan\"}"
}

Ответ содержит три ключевых значения: challenge (токен для отправки), validate (токен валидации), seccode (код безопасности, формат hash|keyword).

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

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

Советы и рекомендации ​

  • Всегда используйте свежий challenge — использование закэшированных или повторных challenge приводит к ошибкам
  • Срок действия challenge истекает примерно через 10 минут, получайте новый непосредственно перед решением
  • Отправляйте три значения сразу после получения — они жёстко привязаны к исходному challenge
  • Указывайте точный pageurl с query-параметрами (если они есть), чтобы соответствовать контексту origin

TailCaptcha API Documentation