Демо Cloudflare Turnstile
Капча инициализируется через turnstile.render(). Возвращаемый токен (cf-turnstile-response) нужно отправить на сервер и проверить через Cloudflare endpoint siteverify.
Cloudflare Turnstile ограничивает автоматизацию — делегируйте решение специализированному сервису решению.
Как обходить Cloudflare Turnstile
Откройте консоль разработчика в браузере и найдите элемент с атрибутом data-sitekey.
Отправьте sitekey и pageurl на наш API.
Используя SDK (рекомендовано):
PHP
$result = $solver->turnstile([ 'sitekey' => '3x00000000000000000000FF', 'url' => 'https://solvecaptcha.com/demo/cloudflare-turnstile', ]);
Python
result = solver.turnstile(sitekey='3x00000000000000000000FF', url='https://solvecaptcha.com/demo/cloudflare-turnstile')
Ruby
# https://github.com/solvecaptcha/solvecaptcha-ruby require 'api_solvecaptcha' client = ApiSolveCaptcha.new("YOUR_API_KEY") result = client.turnstile({ sitekey: '0x1AAAAAAAAkg0s2VIOD34y5', pageurl: 'http://mysite.com/' })
Вручную:
Сделайте POST запрос к https://solvecaptcha.com/in.php со следующими параметрами:
{ "key": "YOUR_API_KEY", "method": "turnstile", "sitekey": "3x00000000000000000000FF", "pageurl": "https://solvecaptcha.com/demo/cloudflare-turnstile", "json": 1 }
Если вы отправили корректный запрос, сервер вернёт ID вашей капчи:
{ "status": 1, "request": "2122988149" }
Через 15-20 секунд отправьте GET запрос чтобы получить результат:
GET https://solvecaptcha.com/res.php?key=YOUR_API_KEY&action=get&id=2122988149&json=1
Если ваша капча уже решена, сервер вернёт ответ на неё:
{ "status": 1, "request": "0.WoGeDojxQzHCCk023JRjfxv23olYh37jFdvPrcqmNeQ7PbSYIEuiBTK2SR_GdjfMitYEC23Gm7Vt93U1CPcI6aIFEhG-ffe1i9e6tIfIlYCFtb7OMxTB4tKCyTdpiaA.SP5YT77nuMNdOhZlvoBWAQ.da6448d22df7dd92f56a9fcf6d7138e5ee712bcf7d00c281f419b3bc091cbe64" }
Если ваша капча ещё не решена, сервер вернёт CAPCHA_NOT_READY. В таком случае повторите ваш запрос через 5 секунд. Если что-то пошло не так, сервер вернёт код ошибки.
Используйте полученный токен при работе с сайтом, где обходите капчу. Токен чаще всего передается через элемент input с атрибутом name="cf-turnstile-response" а если используется режим совместимости с reCAPTCHA, то еще и через input с атрибутом name="g-recaptcha-response". Также, токен может передаваться через коллбек-функцию, которая задается при вызове turnstile.render или через атрибут data-callback.
На этой демо странице мы используем поле input, значение которого можно поменять следующим образом:
document.querySelector('[name="cf-turnstile-response"]').value = 'TOKEN';