Blog
Как решить/обойти Geetest v3/v4 с помощью CapSolver

Как решить/обойти Geetest v3/v4 с помощью CapSolver

Logo of Capsolver

CapSolver Blogger

How to use capsolver

14-Jun-2023

Как решить/обойти Geetest v3/v4 с помощью CapSolver

Существуют четыре разных типа CAPTCHA от GeeTest.

Интеллектуальный режим
CAPTCHA с ползунком
Иконка CAPTCHA
Пространственная CAPTCHA

Вот подробности обо всех из них.

Интеллектуальный режим

В этом режиме ТОЛЬКО посетителям с высоким риском будет предложено пройти проверку CAPTCHA. Система автоматически решит, позволить пользователю пройти тест, вывести вызов CAPTCHA с ползунком или иконкой на основе обнаруженного риска.

Этот режим не такой безопасный. Сам GeeTest оценил его на 2 из 5 по уровню безопасности. Для пользовательского опыта, 5 из 5.

CAPTCHA с ползунком

Когда пользователь перетаскивает ползунок, следы мыши, атрибуты устройства и некоторые другие данные будут собираться и анализироваться в реальном времени.

Этот вариант намного безопаснее предыдущего. Сам GeeTest оценил его на 3 из 5 по уровню безопасности. Для пользовательского опыта, 4 из 5.

Иконка CAPTCHA

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

Сам GeeTest оценил его на 3 из 5 по уровню безопасности. Для пользовательского опыта, 4 из 5.

Пространственная CAPTCHA

Разнообразие твердых фигур и сложные вопросы могут значительно снизить риск распознавания компьютерным зрением.

Этот вариант намного безопаснее всех других. Сам GeeTest оценил его на 5 из 5 по уровню безопасности. Для пользовательского опыта, 1 из 5.

Чтобы использовать наш сервис для решения капчи GeeTest, вы должны:

  1. На целевой странице найдите следующие параметры капчи GeeTest (обычно вы можете найти их внутри функции initGeetest).
gt: общедоступный ключ сайта (статический)
    challenge: динамический ключ вызова
    API domain: сервер API (необязательно)
  1. Отправьте HTTP GET или POST запрос с методом, установленным на geetest, на наш URL API, используя нашу документацию docs.capsolver.com. Включите данные из предыдущего шага в ваш запрос в качестве значений для соответствующих параметров запроса и включите полный URL страницы в качестве значения для pageurl.
    Пример:
POST https://api.capsolver.com/createTask
    Host: api.capsolver.com
    Content-Type: application/json
    {
        "clientKey": "YOUR_API_KEY",
        "task": {
            "type":"GeeTestTaskProxyless", //Can use GeetestTaskProxyless or GeetestTask
            "websiteURL":"http://mywebsite.com/geetest/test.php",  //Required
            "gt":"874703612e5cd0d", //Required
            "challenge":"0f759dd1ea6c```markdown
4wc76cedc2991039ca4f23", //Обязательно
            "geetestApiServerSubdomain":"api-na.geetest.com",  //Необязательно
            "proxy":"", //Необязательно, это требуется, если вы используете GeetestTask
            "userAgent": "" //Необязательно
        }
    }
  1. Если все в порядке, сервер вернет ID вашей капчи в виде json, например:
{ “errorId”: 0, “status”: “idle”, “taskId”: “randomTaskId” // записывайте taskId }

В противном случае сервер вернет код ошибки.

  1. Сделайте паузу в 15–20 секунд, затем отправьте HTTP GET запрос на наш URL API, как в этом примере:
POST https://api.capsolver.com/getTaskResult
    Host: api.capsolver.com
    Content-Type: application/json

    {
        "clientKey":"YOU_API_KEY",
        "taskId": "yourid"
    }

После того как капча решена, вы получите результат в виде:

{
          "challenge":"1a2b34cd67890e12345fab678901c2de",
          "validate":"09fe8d7c6ba54f32e1dcb0a9fed765",
          "seccode":"12fe3d4c56789ba01f2e345d6789c012|jordan"
    }

Если капча еще не решена, сервер вернет результат ошибки. Повторите свой запрос через 5 секунд.
Если что-то пошло не так, сервер вернет код ошибки

  1. Используйте полученные от нашего API значения для отправки вашего запроса на целевой сайт, поместив значения в соответствующие поля запроса:
geetest_challenge
    geetest_validate
    geetest_seccode

Máse