Получить API ключ

Как использовать полученный токен

После того как getTaskResult вернул status: "ready" и решение в solution, токен нужно доставить на сайт. Ниже способы доставки разделены по типу капчи.

reCAPTCHA v2 / v3#

Для reCAPTCHA v2 и v3 используются:

Способ Что используется
Скрытое поле формы g-recaptcha-response
JS-объект/callback grecaptcha.getResponse() заменяется значением токена; либо вызывается callback, заданный в data-callback

Способ 1 — через скрытое поле формы#

Большинство сайтов кладут токен в скрытый <input> внутри формы и просто отправляют форму. Найдите соответствующее поле в DOM и подставьте значение перед сабмитом:

<textarea id="g-recaptcha-response" name="g-recaptcha-response"></textarea>
document.querySelector('#g-recaptcha-response').value = 'ТОКЕН_ИЗ_SOLUTION';
document.querySelector('form').submit();

Способ 2 — через callback-функцию#

Если виджет инициализирован с data-callback (или JS-параметром callback в grecaptcha.render()), сайт ожидает не сабмит формы, а вызов этой функции с токеном в качестве аргумента. Имя функции у каждого сайта своё — его нужно смотреть в разметке (data-callback="onCaptchaSolved") или в JS-инициализации виджета:

// reCAPTCHA v2/v3 с callback
onCaptchaSolved('ТОКЕН_ИЗ_SOLUTION');

Перед тем как выбирать способ, откройте вкладку Network в инструментах разработчика браузера и пройдите капчу вручную — это покажет, отправляется ли токен как поле формы (POST с g-recaptcha-response в теле) или передаётся в JS-callback без явной отправки формы.

Cloudflare Turnstile#

Для Turnstile используются:

Способ Что используется
Скрытое поле формы cf-turnstile-response
JS-объект/callback callback, заданный в data-callback виджета Turnstile или в параметре callback объекта turnstile.render()

Способ 1 — через скрытое поле формы#

Большинство сайтов кладут токен в скрытый <input> внутри формы и просто отправляют форму. Найдите соответствующее поле в DOM и подставьте значение перед сабмитом:

<input type="hidden" name="cf-turnstile-response" id="cf-turnstile-response">
document.querySelector('#cf-turnstile-response').value = 'ТОКЕН_ИЗ_SOLUTION';
document.querySelector('form').submit();

Способ 2 — через callback-функцию#

Если виджет инициализирован с data-callback (или JS-параметром callback в turnstile.render()), сайт ожидает не сабмит формы, а вызов этой функции с токеном в качестве аргумента. Имя функции у каждого сайта своё — его нужно смотреть в разметке (data-callback="onTurnstileSolved") или в JS-инициализации виджета:

// Turnstile с callback
onTurnstileSolved('ТОКЕН_ИЗ_SOLUTION');

Перед тем как выбирать способ, откройте вкладку Network в инструментах разработчика браузера и пройдите капчу вручную — это покажет, отправляется ли токен как поле формы (POST с cf-turnstile-response в теле) или передаётся в JS-callback без явной отправки формы.