hCaptcha · Живое демо

Демо hCaptcha

Флажок «I am human» с графическими заданиями в качестве запасного варианта.

Windows x64·Работает локально, поэтому капча не покидает ваш компьютер
  • Бесплатно, без регистрации
  • Виджет реального провайдера
  • Посмотреть ответ проверки
токенов hCaptcha в месяц40,000
40.0k250.0k
В других сервисах поштучно, примерно $2.99 за 1000$119.60
CapSkip Bronze, фиксированно$35.00
$84.60остаётся у вас в карманекаждый месяц при таком объёме

Живой виджет hCaptcha

Отметьте флажок «I am human» и решите графическое задание, если оно появится. Проверка проходит, как только hCaptcha возвращает токен.

Time to solve 0.0s
Solve cost $0 with CapSkip

Как решить hCaptcha

Поле выше работает как живая hCaptcha проверка с флажком. Эта страница показывает два способа решить hCaptcha и получить валидный h-captcha-response токен: вызывая HTTP API CapSkip из собственного кода или направив сервис капчи, к которому уже обращаются ваши инструменты, в CapSkip. CapSkip работает как безлимитный сервис распознавания hCaptcha локально на вашем устройстве, поэтому нет платы за каждое решение и ничего не покидает вашу машину.

Для разработчиков

Вариант 1: решение hCaptcha с помощью HTTP API CapSkip

Создаёте автоматизацию, парсер или бота? Отправьте site key и URL этой страницы в приложение CapSkip одним запросом, опрашивайте результат, и CapSkip вернёт свежий токен hCaptcha, который можно отправить как настоящий. API использует стандартные in.php / res.php эндпоинты, поэтому работает из Python, Node.js, PHP, C# или любого другого языка, который умеет выполнять HTTP-запросы.

Site key
10000000-ffff-ffff-ffff-000000000001
URL страницы
https://capskip.com/ru/captcha-demo/hcaptcha/

Прежде чем начать

CapSkip решает капчу локально. Скачайте и запустите Десктопное приложение CapSkip и держите его открытым в фоновом режиме. Ваш код обращается к нему по 127.0.0.1:8080, поэтому нет обращений к облаку и нет платы за каждое решение.

1

Отправьте hCaptcha в CapSkip

Передайте для этой страницы sitekey и pageurl в in.php с помощью method=hcaptcha. CapSkip сразу отвечает ID задачи.

import time
import requests

API = "http://127.0.0.1:8080"   # the CapSkip app on your machine
KEY = "YOUR_API_KEY"

# 1. Submit the hCaptcha shown on this page
task = requests.post(f"{API}/in.php", data={
    "key": KEY,
    "method": "hcaptcha",
    "sitekey": "10000000-ffff-ffff-ffff-000000000001",
    "pageurl": "https://capskip.com/ru/captcha-demo/hcaptcha/",
    "json": 1,
}).json()["request"]

# 2. Poll until the token is ready
while True:
    time.sleep(5)
    res = requests.get(f"{API}/res.php", params={
        "key": KEY, "action": "get", "id": task, "json": 1,
    }).json()
    if res["request"] != "CAPCHA_NOT_READY":
        break

token = res["request"]   # the h-captcha-response token
print(token)
const API = 'http://127.0.0.1:8080'; // the CapSkip app on your machine
const KEY = 'YOUR_API_KEY';
const sleep = (ms) => new Promise((r) => setTimeout(r, ms));

(async () => {
  // 1. Submit the hCaptcha shown on this page
  const submit = await fetch(`${API}/in.php`, {
    method: 'POST',
    body: new URLSearchParams({
      key: KEY,
      method: 'hcaptcha',
      sitekey: '10000000-ffff-ffff-ffff-000000000001',
      pageurl: 'https://capskip.com/ru/captcha-demo/hcaptcha/',
      json: '1',
    }),
  }).then((r) => r.json());

  // 2. Poll until the token is ready
  let res;
  do {
    await sleep(5000);
    res = await fetch(`${API}/res.php?key=${KEY}&action=get&id=${submit.request}&json=1`)
      .then((r) => r.json());
  } while (res.request === 'CAPCHA_NOT_READY');

  const token = res.request; // the h-captcha-response token
  console.log(token);
})();
<?php
$api = 'http://127.0.0.1:8080'; // the CapSkip app on your machine
$key = 'YOUR_API_KEY';

// 1. Submit the hCaptcha shown on this page
$ch = curl_init("$api/in.php");
curl_setopt_array($ch, [
    CURLOPT_POST           => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS     => http_build_query([
        'key'     => $key,
        'method'  => 'hcaptcha',
        'sitekey' => '10000000-ffff-ffff-ffff-000000000001',
        'pageurl' => 'https://capskip.com/ru/captcha-demo/hcaptcha/',
        'json'    => 1,
    ]),
]);
$task = json_decode(curl_exec($ch), true)['request'];

// 2. Poll until the token is ready
do {
    sleep(5);
    $res = json_decode(file_get_contents(
        "$api/res.php?key=$key&action=get&id=$task&json=1"
    ), true);
} while ($res['request'] === 'CAPCHA_NOT_READY');

$token = $res['request']; // the h-captcha-response token
echo $token;
using System.Text.Json;

const string Api = "http://127.0.0.1:8080"; // the CapSkip app on your machine
const string Key = "YOUR_API_KEY";
var http = new HttpClient();

// 1. Submit the hCaptcha shown on this page
var submit = await http.PostAsync($"{Api}/in.php", new FormUrlEncodedContent(new Dictionary<string, string>
{
    ["key"] = Key,
    ["method"] = "hcaptcha",
    ["sitekey"] = "10000000-ffff-ffff-ffff-000000000001",
    ["pageurl"] = "https://capskip.com/ru/captcha-demo/hcaptcha/",
    ["json"] = "1",
}));
string task = JsonDocument.Parse(await submit.Content.ReadAsStringAsync())
    .RootElement.GetProperty("request").GetString()!;

// 2. Poll until the token is ready
string token;
do
{
    await Task.Delay(5000);
    var res = JsonDocument.Parse(await http.GetStringAsync(
        $"{Api}/res.php?key={Key}&action=get&id={task}&json=1"));
    token = res.RootElement.GetProperty("request").GetString()!;
} while (token == "CAPCHA_NOT_READY");

Console.WriteLine(token); // the h-captcha-response token

Вы получаете длинный токен, который обычно начинается с P1_, валиден для этого site key и готов к отправке. В том же ответе также приходят respKey и useragent браузера, который его решил.

2

Используйте токен

Поместите токен в скрытое поле виджета h-captcha-response (textarea). hCaptcha также заполняет поле g-recaptcha-response (textarea) для сайтов, которые читают именно его, поэтому задайте оба. Если виджет был отрисован с параметром data-callback, запустите эту функцию с токеном. Затем отправьте форму, и ваш сервер проверит её через hCaptcha siteverify. Обратите внимание, что это демо проверяет токен через собственный callback виджета, поэтому оно проверяет токен, созданный виджетом, а не тот, который вы помещаете в поле.

// 1. Drop the solved token into both response fields
document.querySelector('[name="h-captcha-response"]').value = token;
document.querySelector('[name="g-recaptcha-response"]').value = token;

// 2. If the widget has a data-callback, run it with the token
const cb = document.querySelector('.h-captcha')?.dataset.callback;
if (cb && window[cb]) window[cb](token);

// 3. ...then submit your form.
Дополнительно

Невидимая hCaptcha и hCaptcha Enterprise

У невидимого виджета нет флажка, и он открывается, только когда сайт вызывает hcaptcha.execute(); добавьте invisible=1 в запрос. Сайты Enterprise часто передают виджету значение rqdata ; отправьте его в параметре data. Если сайт проверяет браузер, отправляйте токен с точно тем же useragent который возвращает CapSkip.

POST http://127.0.0.1:8080/in.php
     key=YOUR_API_KEY
     method=hcaptcha
     sitekey=SITEKEY_FROM_THE_PAGE
     pageurl=https://the-protected-site.com/login
     invisible=1
     data=RQDATA_FROM_THE_PAGE
     json=1

GET  http://127.0.0.1:8080/res.php?key=YOUR_API_KEY&action=get&id=2122988149&json=1
     {"status":1,"request":"P1_eyJ0eXAiOiJKV1Qi…","respKey":"E0_eyJ0eXAi…","useragent":"Mozilla/5.0 …"}

API также принимает proxy и proxytype, что помогает, когда сайт проверяет, что токен был получен с вашего собственного IP. Клиенты в стиле Anti-Captcha могут отправить ту же задачу как createTask с типом HCaptchaTaskProxyless, HCaptchaTask или HCaptchaEnterpriseTask.

Полный список параметров запроса, полей ответа и кодов ошибок находится в Документация по API CapSkip.

Без изменений в коде

Вариант 2: направьте существующий код сервиса-решателя в CapSkip

Уже решаете hCaptcha через сервис с оплатой за капчу, такой как 2Captcha, Anti-Captcha или CapSolver? Вам не нужно переписывать ни строки. Приложение CapSkip включает эмулятор сервиса который локально говорит на собственных API этих сервисов: выберите используемый сервис, нажмите Добавить в файл hosts, и на каждый запрос, который ваш бот, парсер или готовый инструмент уже отправляет ему, отвечает CapSkip на вашей собственной машине, по фиксированной цене вместо счёта за каждое решение.

1

Выберите свой сервис

Откройте приложение CapSkip и выберите сервис, с которым уже работает ваш код: 2Captcha, RuCaptcha, Anti-Captcha, CapMonster Cloud, CapSolver, DeathByCaptcha, SolveCaptcha, NextCaptcha, EzCaptcha или Captchas.io.

2

Добавить в файл hosts

Один клик в приложении направляет домен этого сервиса на CapSkip, поэтому вызовы, которые делает ваш инструмент, обрабатываются на вашей машине, а не уходят к платному API.

3

Запускайте свой инструмент без изменений

Тот же API-ключ, тот же запрос, тот же цикл опроса. CapSkip отвечает в собственном формате этого сервиса, и ваш код получает обратно действительный токен h-captcha-response.

Ничего из приведённого ниже не меняется при переходе. Это тот же вызов, который ваш код делает сегодня, только теперь hCaptcha решается локально, и валидный токен h-captcha-response возвращается из CapSkip:

POST https://2captcha.com/in.php
     key=YOUR_EXISTING_API_KEY
     method=hcaptcha
     sitekey=10000000-ffff-ffff-ffff-000000000001
     pageurl=https://capskip.com/ru/captcha-demo/hcaptcha/

GET  https://2captcha.com/res.php?key=YOUR_EXISTING_API_KEY&action=get&id=2122988149
     OK|P1_eyJ0eXAi…  the h-captcha-response token, solved by CapSkip

Клиентские библиотеки работают так же: в стиле Anti-Captcha createTask / getTaskResult пара, или любая обёртка, построенная на одном из этих сервисов, продолжает работать, как только включён эмулятор. Полный справочник по запросам и ответам находится в Документация по API CapSkip.

Читать дальше

Подробнее о решении hCaptcha

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

Об этом демо hCaptcha

Эта страница работает как живая демо hCaptcha , где вы можете проверить, как работает hCaptcha, и увидеть её решение в реальном времени. hCaptcha представляет собой капчу с упором на конфиденциальность, которую многие сайты используют вместо reCAPTCHA: она показывает флажок «I am human», а если не уверена в посетителе, то и графическое задание, например выбрать подходящие картинки в сетке. Используйте её, чтобы изучить генерацию токена hCaptcha, h-captcha-response значение, а также процесс верификации, на который сайты полагаются для защиты форм, входов и регистраций от спама, злоупотреблений и ботов.

Разработчики, тестировщики и инженеры по автоматизации могут использовать эту тестовую страницу hCaptcha, чтобы проверить интеграции, подтвердить настройку и оценить, насколько быстро CapSkip решает hCaptcha. Нужно ли вам решить hCaptcha один раз или автоматизировать тысячи решений, CapSkip работает двумя способами: простой HTTP API, который можно вызывать из любого языка, и готовая эмуляция сервисов распознавания капчи, за которые вы, возможно, сегодня платите за каждое решение, и всё это с безлимитным решением по единой фиксированной цене. Оба способа работают на одном и том же десктопном AI распознавание капчи, устанавливается один раз и работает на вашей машине, поэтому ничто не ставится в очередь на удалённом сервере и ничто не тарифицируется за каждое решение.

Могу ли я сохранить свой существующий код 2Captcha или Anti-Captcha?
Да. Приложение CapSkip эмулирует API 2Captcha, RuCaptcha, Anti-Captcha, CapMonster Cloud, CapSolver, DeathByCaptcha, SolveCaptcha, NextCaptcha, EzCaptcha и Captchas.io. Выберите свой сервис в приложении, нажмите «Add to hosts file», и запросы hCaptcha, которые ваш код уже отправляет, решаются локально в CapSkip, без изменений в коде и без платы за каждое решение.
Как решить hCaptcha?
Запустите десктопное приложение CapSkip, отправьте sitekey виджета и URL страницы в его API с method=hcaptcha, и CapSkip вернёт действительный токен h-captcha-response. Поместите токен в поле h-captcha-response, запустите callback виджета, если он есть, и отправьте форму.
Можно ли обойти hCaptcha?
Да. CapSkip проходит флажок hCaptcha и его графические задания в настоящем браузере на вашей собственной машине, а затем выдаёт вам токен, который вы можете отправить как настоящий посетитель. Невидимые виджеты и сайты Enterprise, передающие rqdata, тоже поддерживаются.
Как отличить hCaptcha от reCAPTCHA?
Посмотрите на разметку виджета. hCaptcha отображается как div с классом h-captcha и data-sitekey в формате UUID (с дефисами) и загружает свой скрипт с js.hcaptcha.com. reCAPTCHA использует класс g-recaptcha, sitekey, начинающийся с 6L, и скрипт с google.com/recaptcha. Обе заполняют поле g-recaptcha-response, поэтому по одному этому полю их не различить.
Является ли CapSkip бесплатным сервисом распознавания hCaptcha?
Бесплатный пробный период даёт полный доступ на три дня с 500 решениями. Платные лицензии открывают безлимитное решение по единой фиксированной цене, без платы за каждую капчу.
Какие тестовые ключи есть у hCaptcha?
hCaptcha публикует тестовый sitekey 10000000-ffff-ffff-ffff-000000000001 и тестовый секретный ключ 0x0000000000000000000000000000000000000000. Вместе они всегда проходят проверку, а виджет пропускает графическое задание. Тестовый sitekey выдаёт токен 10000000-aaaa-bbbb-cccc-000000000001. Рабочие секретные ключи отклоняют этот токен. Это демо работает на этой тестовой паре, поэтому флажок проходит сразу, без графического задания.
Почему форма сообщает, что поле h-captcha-response отсутствует?
Форма была отправлена без токена hCaptcha. Обычно виджет ещё не завершил работу, находился вне элемента формы или срок действия токена истёк примерно через две минуты. Перед отправкой дождитесь callback виджета и убедитесь, что поле h-captcha-response (textarea) находится внутри формы.
ЦеныВойти