Ваше первое решение CAPTCHA в solvethree

Автор: solvethree4 мин на чтение

Начните с одного решения reCAPTCHA Enterprise, а не с пакета задач. Вам понадобятся API-ключ рабочего пространства, активный профиль сайта и собственный HTTP-прокси. Затем отправьте полученный токен целевому сайту, прежде чем увеличивать объём.

На этой странице

1. Настройте рабочее пространство и API-ключ

  1. 1.

    Зарегистрируйтесь и настройте рабочее пространство

    Начните с регистрации. Используйте одно рабочее пространство для API-ключа, профиля сайта и баланса.

  2. 2.

    Создайте ключ

    Откройте раздел «API-ключи» в консоли. Выберите «Создать API-ключ», введите «Имя ключа», затем выберите «Создать ключ».

  3. 3.

    Сохраните секрет

    Скопируйте секрет из раздела «Сохраните API-ключ» и сохраните его в защищённом месте, прежде чем выбирать «Я сохранил этот ключ». Функция «Показать префиксы» не позволит позже восстановить полный секрет. Храните ключ на сервере, а не в коде браузера.

Приветственный бонус составляет $5. Если нужно пополнить баланс, минимальная сумма пополнения — $10. reCAPTCHA стоит $2.00 за 1,000 решений; задача в статусе ready оплачивается, а при неудачном решении средства возвращаются.

2. Активируйте профиль целевого сайта

  1. 1.

    Добавьте целевую страницу

    Откройте Профили сайтов и выберите «Добавить сайт». Введите HTTPS-адрес целевой страницы в поле «URL страницы» и выберите Enterprise v3.

  2. 2.

    Задайте действие для захвата

    Используйте действие, необходимое для интегрируемой операции. В примере запроса ниже используется login, поэтому указывайте его только в том случае, если это фактическое действие целевого сайта. Добавляйте отдельный профиль для каждого сочетания имени хоста, действия для захвата и типа reCAPTCHA.

  3. 3.

    Дождитесь активного статуса

    Выберите «Добавить сайт». В некоторых аккаунтах сначала появится «Пополните баланс, чтобы продолжить». В зависимости от отправленных данных профиль может проходить состояния захвата, проверки или рассмотрения. Продолжайте только после его активации; гарантированного срока захвата нет. Если захват завершился ошибкой, прочитайте причину перед повторной попыткой.

Передача имени хоста и действия в задаче не создаёт профиль. Для первого решения укажите в задаче точно то же действие для захвата, что и в профиле. Необязательные поля и выбор действия описаны в разделе Настройка профиля сайта.

3. Отправьте один запрос Enterprise

Отправьте следующее тело запроса на POST https://api.solvethree.com/v1/tasks. Для аутентификации используйте заголовок Authorization со значением Bearer, за которым следует API-ключ вашего рабочего пространства.

reCAPTCHA Enterprise · структура запроса
{
  "site": "accounts.example.com",
  "action": "login",
  "proxy": "http://user:[email protected]:8080",
  "requestId": "example_login_001"
}
  • Замените site на имя хоста целевого сайта, а не полный URL страницы. Замените action на действие, выбранное для первого решения.
  • Замените proxy на URL вашего HTTP-прокси с учётными данными. Этот запрос использует один прокси; не передавайте также proxyCandidates.
  • Выберите requestId для этого логического запроса и сохраните его вместе с отправленными входными данными. Допускается 1–64 символа: ASCII-буквы, цифры, подчёркивания или дефисы.
  • Не указывайте type и url. Если recaptchaType не указан, по умолчанию используется Enterprise v3.

Полную реализацию на Python см. в руководстве reCAPTCHA Enterprise на Python. Приведённый здесь запрос показывает значения, которые нужно подготовить заранее.

4. Запрашивайте задачу до её завершения

Сохраните ID задачи, полученный при создании. Запрашивайте её через GET https://api.solvethree.com/v1/tasks/:id, заменив :id на этот ID и используя ту же аутентификацию Bearer.

  • Проверьте, успешен ли HTTP-ответ, прежде чем читать его тело как успешный ответ с данными задачи.
  • Пока статус — pending или solving, продолжайте опрос. Ни один из этих статусов не содержит готового к использованию решения.
  • Когда статус станет ready, прекратите опрос и прочитайте solution.
  • Когда статус станет failed, прекратите опрос и изучите errorCode и error. Средства за неудачное решение возвращаются.

Ответ со статусом ready имеет следующую структуру. Эти значения токена и данных идентификации браузера — заглушки, а не действующее решение.

Пример ответа с готовым решением · условные учётные данные
{
  "id": "example-task",
  "status": "ready",
  "solution": {
    "token": "EXAMPLE_TOKEN",
    "userAgent": "EXAMPLE_USER_AGENT",
    "secChUa": "EXAMPLE_CLIENT_HINTS"
  }
}

5. Отправьте токен с тем же прокси и данными идентификации браузера

  1. 1.

    Отправляйте токен, а не ID задачи

    Поместите solution.token туда, где целевой сайт ожидает токен reCAPTCHA. Проверьте исходящий запрос, чтобы убедиться, что он не отправляет ID задачи или старый токен.

  2. 2.

    Используйте полученные данные идентификации браузера

    Используйте solution.userAgent и solution.secChUa в запросе к целевому сайту вместе с тем же прокси, который был указан для этого решения. Не смешивайте их с посторонними данными идентификации браузера и не отправляйте токен на другой целевой URL.

  3. 3.

    Проверьте ответ целевого сайта

    Убедитесь, что целевой сайт принял нужную операцию. Задача в статусе ready означает, что solvethree сгенерировал решение; это не гарантирует, что целевой сайт примет ваш последующий запрос.

Прежде чем запускать пакет задач, добейтесь принятия этого единственного запроса целевым сайтом. Если он отклонён, проверьте отправленный токен, данные идентификации браузера, прокси и целевой URL, прежде чем покупать дополнительные решения.

Запустите первую задачу.

Начните с $5 на балансе рабочего пространства.

Создать рабочее пространство
Ваше первое решение CAPTCHA в solvethree · solvethree