Обход Cloudflare Turnstile с помощью «SolveCaptcha»

Обход Cloudflare

Cloudflare применяет различные методы для фильтрации трафика, включая JavaScript-проверки, капчи и Turnstile — более удобный для пользователя формат капчи, который минимизирует взаимодействие, сохраняя высокий уровень проверки. SolveCaptcha позволяет автоматически решать и обходить любые капчи Cloudflare.

Обход Cloudflare

Лучший сервис для автоматического обхода Cloudflare

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

  • «SolveCaptcha» это надёжный сервис Надежность

    Обеспечиваем самую быструю скорость обновлений среди аналогичных сервисов.

  • «SolveCaptcha» это безопасный сервис Безопасность

    Оплата только за успешно решенные капчи.

  • «SolveCaptcha» использует AI и задачи работникам AI и задачи работникам

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

  • Интеграция API с «SolveCaptcha» Широкая совместимость

    SolveCaptcha интегрируется с API ведущих сервисов распознавания капч.

  • Разнообразные решения капчи с помощью «SolveCaptcha» Разнообразные решения

    Доступ к SolveCaptcha через API и расширение для Chrome.

  • «SolveCaptcha» это популярный сервис Доверие клиентов

    Более 1000 платформ уже интегрировали API в свои программы для автоматизации.

Цены на автоматическое решение капч Cloudflare

SolveCaptcha предлагает наиболее низкие цены на решение капч Cloudflare.

«Cloudflare Turnstile» лого Cloudflare Turnstile Цена за 1000 $0.8 Скорость 12 сек. Свободно, в минуту 2,883
Больше типов

API для автоматического обхода Cloudflare

Процесс решения Cloudflare Turnstile с помощью SolveCaptcha прост: когда заказчик сталкивается с капчей, он отправляет запрос через API к SolveCaptcha, сервис моментально решает капчу и позволяет пользователям продолжить задачи без задержек.

Cloudflare Turnstile

Cloudflare Turnstile — это капча, разработанная компанией Cloudflare.

Для решения капчи необходимо:

  1. Найдите значение параметра sitekey, необходимое для работы капчи. Оно может быть обнаружено:
    • в атрибуте data-sitekey элемента <div>, содержащего капчу;
    • в JavaScript коде, где оно указывается как свойство sitekey;
    • в URL, используемом для загрузки iframe капчи.
    Формат значения: 0x1AAAAAAAAkg0s2VIOD34y5.

    Кроме того, капча может содержать дополнительные параметры:

    • action — задается через атрибут data-action;
    • data — задается через атрибут data-cdata.
  2. Отправьте HTTP-запрос (GET или POST) на адрес API: https://api.solvecaptcha.com/in.php. Укажите значение параметра method как turnstile, а также добавьте параметры sitekey и pageurl с URL страницы, на которой используется капча.

    Детальное описание всех параметров доступно в разделе ниже.

    Пример запроса:

    https://api.solvecaptcha.com/in.php?key=1abc234de56fab7c89012d34e56fa7b8&method=turnstile&sitekey=0x1AAAAAAAAkg0s2VIOD34y5&pageurl=http://mysite.com/

    Примеры кода для отправки Cloudflare Turnstile используя cURL, Python, JavaScript (Node.js), Go, описаны ниже.

  3. API вернет вам ID капчи: Текстом OK|2122088140 или в JSON {"status":1,"request":"2122088140"}. Если запрос был некорректным - вы получите код ошибки.
  4. Подождите 10-15 секунд и запрашивайте ответ HTTP GET у API: https://api.solvecaptcha.com/res.php.

    Полный список параметров в таблице ниже.

    Если капча решена, вы получите в ответе токен следующего формата:

    {
                "status": 1,
                "request": "0.4uMMZZdSfsVM8...610cd090",
                "useragent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36"
              }

    Если капча не решена, вы получите ответ CAPTCHA_NOT_READY. Повторите запрос через 5 секунд.

    Если возникла ошибка, API вернет соответствующий код ошибки. Подробнее см. в разделе Обработка ошибок.

  5. Для использования полученного токена при обходе капчи на сайте передавайте его следующим образом:

    • В элементе <input> с атрибутом name="cf-turnstile-response".
    • Если используется режим совместимости с reCAPTCHA, дополнительно укажите токен в элементе <input> с атрибутом name="g-recaptcha-response".
    • Либо через функцию обратного вызова, заданную в свойстве callback при вызове turnstile.render или через атрибут data-callback.
Капча Cloudflare Turnstile на страницах с проверкой Cloudflare Challenge.
Страница Turnstile Challenge

Если требуется обойти капчу Turnstile на странице Cloudflare Challenge, необходимо ОБЯЗАТЕЛЬНО передать дополнительные параметры:

  • action
  • data
  • pagedata

Для случаев, когда Turnstile используется как самостоятельная капча, размещенная непосредственно на сайте, эти параметры не являются обязательными.

Как перехватить параметры вызова метода turnstile.render

Для перехвата параметров метода turnstile.render можно переопределить его поведение. Например, это можно реализовать с помощью инъекции JavaScript на страницу. Важно учитывать, что данный код должен быть выполнен до загрузки CAPTCHA, чтобы изменения вступили в силу.

const i = setInterval(()=>{
              if (window.turnstile) {
              clearInterval(i)
              window.turnstile.render = (a,b) => {
              let p = {
              method: "turnstile",
              key: "YOUR_API_KEY",
              sitekey: b.sitekey,
              pageurl: window.location.href,
              data: b.cData,
              pagedata: b.chlPageData,
              action: b.action,
              userAgent: navigator.userAgent,
              json: 1        
              }
              console.log(JSON.stringify(p))
              window.tsCallback = b.callback
              return 'foo'
              }
              }
              },50)
Список параметров GET/POST запроса к https://api.solvecaptcha.com/in.php
Параметр Тип Обязателен Описание
key Строка Да ваш ключ API
method Строка Да turnstile - указывает что вы решаете капчу turnstile
sitekey Строка Да Значение параметра sitekey найденное на странице
action Строка Нет* Значение дополнительного параметра action, найденного на странице
data Строка Нет* Значение дополнительного параметра data, найденного на странице
pagedata Строка Нет* Значение параметра chlPageData при вызове turnstile.render
pageurl Строка Да Полный URL страницы с капчей
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.
pingback Строка Нет URL для автоматической отправки ответа на капчу (callback).
Больше информации здесь.
json Число
По умолчанию: 0
Нет 0 — сервер вернёт ответ в виде простого текста
1 — сервер вернёт ответ в формате JSON
proxy Строка Нет Ваш прокси в формате: login:[email protected]:8888
Подробнее
proxytype Строка Нет Тип используемого вами прокси: HTTP, HTTPS, SOCKS4, SOCKS5

* - обязательные параметры для прохождения Turnstile на страницах с проверкой Cloudflare Challenge.

Список параметров GET запроса к https://api.solvecaptcha.com/res.php
GET параметр Тип Обязателен Описание
key Строка Да ваш ключ API
action Строка Да get — получить ответ на капчу
id Число Да ID капчи, полученный от in.php.
json Число
По умолчанию: 1
Нет 1 - вернуть ответ в JSON,
0 - в виде текста
header_acao Число
По умолчанию: 0
Нет 0 — выключен
1 — включен
Если включен, то in.php добавит заголовок Access-Control-Allow-Origin:* в ответ.
Используется для кроссдоменных AJAX-запросов из веб-приложений.

Request URL example:

https://api.solvecaptcha.com/res.php?key=1abc234de56fab7c89012d34e56fa7b8&action=get&id=2122088140

Примеры кода для отправки Cloudflare Turnstile:

cURL

curl --location 'https://api.solvecaptcha.com/in.php' \
          --form 'key="YOUR_API_KEY"' \
          --form 'method="turnstile"' \
          --form 'sitekey="0x1AAAAAAAAkg0s2VIOD34y5"' \
          --form 'pageurl="https://mysite.com/register"' \
          --form 'json="1"'
Python

import requests

          url = "https://api.solvecaptcha.com/in.php"

          payload = {'key': 'YOUR_API_KEY',
          'method': 'turnstile',
          'sitekey': '0x1AAAAAAAAkg0s2VIOD34y5',
          'pageurl': 'https://mysite.com/register',
          'json': '1'}
          files=[

          ]
          headers = {}

          response = requests.request("POST", url, headers=headers, data=payload, files=files)

          print(response.text)
JavaScript (Node.js)

var request = require('request');
          var options = {
            'method': 'POST',
            'url': 'https://api.solvecaptcha.com/in.php',
            'headers': {
            },
            formData: {
              'key': 'YOUR_API_KEY',
              'method': 'turnstile',
              'sitekey': '0x4AAAAAAAPMtoL-SSuvUpPf',
              'pageurl': 'https://mysite.com/page/containing/cloudflare-turnstile',
              'json': '1'
            }
          };
          request(options, function (error, response) {
            if (error) throw new Error(error);
            console.log(response.body);
          });
Go

package main

          import (
            "fmt"
            "bytes"
            "mime/multipart"
            "net/http"
            "io"
          )

          func main() {

            url := "https://api.solvecaptcha.com/in.php"
            method := "POST"

            payload := &bytes.Buffer{}
            writer := multipart.NewWriter(payload)
            _ = writer.WriteField("key", "YOUR_API_KEY")
            _ = writer.WriteField("method", "turnstile")
            _ = writer.WriteField("sitekey", "0x1AAAAAAAAkg0s2VIOD34y5")
            _ = writer.WriteField("pageurl", "https://mysite.com/register")
            _ = writer.WriteField("json", "1")
            err := writer.Close()
            if err != nil {
              fmt.Println(err)
              return
            }


            client := &http.Client {
            }
            req, err := http.NewRequest(method, url, payload)

            if err != nil {
              fmt.Println(err)
              return
            }
            req.Header.Set("Content-Type", writer.FormDataContentType())
            res, err := client.Do(req)
            if err != nil {
              fmt.Println(err)
              return
            }
            defer res.Body.Close()

            body, err := io.ReadAll(res.Body)
            if err != nil {
              fmt.Println(err)
              return
            }
            fmt.Println(string(body))
          }
«SolveCaptcha» расширения для обхода капчи

Расширение для браузера

Расширение для браузера Chrome автоматически решает капчи, включая Google reCAPTCHA v2, reCAPTCHA v3, обход Cloudflare, Amazon AWS WAF и другие типы.

Лучший сервис распознавания и решения капч

Сервис поддерживает распознавание, расшифровку, решение и обход всех популярных типов капч включая:

Больше типов