Распознавание капчи на C# для асинхронного кода .NET, Selenium и Playwright
Подключите один пакет NuGet, дождитесь через await токена или текста с капчи-картинки, а всю работу CapSkip выполнит на Windows-ПК или сервере под вашим контролем, без счётчика того, как часто обращается ваш код на .NET.
- NuGet SDK под лицензией MIT
- Совместим с .NET Standard 2.0
- Фиксированная плата в месяц
var solver = new CapSkip();
var token = await solver.ReCaptcha(
sitekey: "6Le-wvkS…",
url: "example.com/signup");03AGdBq27…0.12s · $0.00Подключить сервис распознавания капчи на C# к решению .NET должно быть так же просто, как добавить любую другую зависимость, и с CapSkip так и есть: выполните dotnet add package CapSkip, создайте CapSkipClient и дождитесь ответа через await. Сам пакет представляет собой тонкую обёртку под лицензией MIT. Основную работу выполняет десктопное приложение CapSkip, установленное там, где у вас стоит Windows (рабочая станция, облачный VPS, выделенный сервер), поэтому капчи никогда не уходят на удалённую ферму распознавания.
У каждого семейства капч есть собственный асинхронный метод. RecaptchaAsync принимает чекбокс, невидимую версию, v3 и Enterprise-варианты виджета Google; TurnstileAsync справляется как с виджетами Cloudflare, так и с полноэкранными страницами проверки; GeetestAsync принимает свежую пару gt и challenge от GeeTest v3; AltchaAsync, CapyAsync, CaptchaFoxAsync, FriendlyCaptchaAsync и AmazonWafAsync закрывают всё остальное. Если вам нужно просто распознавание капчи на C#, NormalAsync превращает искажённую картинку с текстом в символы примерно за 0,1 секунды.
Клиент нацелен на .NET Standard 2.0, поэтому одна ссылка на пакет одинаково подходит для воркера на .NET 8, утилиты WinForms на .NET Framework 4.6.1 и тестового проекта на Selenium. Лицензия представляет собой фиксированную ежемесячную подписку от $35, а решение, уже подключённое к 2Captcha или CapSolver, может оставить свой клиент: приложение CapSkip отвечает ему локально.
Два способа подключения, один движок. Начните с нуля с NuGet SDK или оставьте рабочий .NET-клиент 2Captcha или CapSolver как есть: включите в CapSkip эмулятор этого сервиса и добавьте его в файл hosts, и его запросы будут решаться на вашей машине. Оба пути ведут к одной и той же безлимитной лицензии. Открыть справочник по API
Что этот сервис распознавания капчи для .NET даёт вашему коду на C#
Методы на Task с поддержкой отмены
Каждое решение возвращает Task от SolveResult и принимает CancellationToken, поэтому останавливающийся хост или прерванный запрос ASP.NET Core может аккуратно сбросить незавершённое решение.
Одна ссылка от Framework 4.6.1 до .NET 9
Пакет скомпилирован под .NET Standard 2.0, поэтому один и тот же пакет загружается в .NET с 6 по 9, в .NET Core 2.0 и новее, а также в старых десктопных утилитах на .NET Framework 4.6.1.
Task.WhenAll по фиксированной цене
Запустите пятьдесят решений параллельно через Task.WhenAll или цикл с ограничением через SemaphoreSlim. Цена не меняется, поэтому параллельность ограничивает машина, на которой работает CapSkip, а не ваш счёт.
OCR, обученный на капчах, вместо Tesseract
NormalAsync принимает изображение в виде пути на диске, URL или текста base64 и возвращает его символы примерно за 0,1 секунды. Он читает тысячи искажённых стилей капчи, на которых обычный OCR спотыкается.
Selenium, Playwright для .NET, PuppeteerSharp
SDK никогда не управляет вашим браузером. Считайте sitekey через FindElement или GetAttributeAsync, дождитесь токена через await, затем вставьте его через IJavaScriptExecutor или EvaluateAsync перед нажатием кнопки отправки.
Типизированные результаты и дерево исключений
SolveResult предоставляет Code, UserAgent и значения GeeTest Challenge, Validate и Seccode в виде свойств, а NetworkException, TimeoutException, ValidationException и ApiException наследуются от CapSkipError.
Выберите способ, подходящий вашему проекту на .NET
// dotnet add package CapSkip
using CapSkip;
var solver = new CapSkipClient(host: "127.0.0.1", port: 8080);
var result = await solver.RecaptchaAsync(
"YOUR_SITEKEY",
"https://example.com/page-with-recaptcha");
Console.WriteLine(result.Code); // tokenВызовите RecaptchaAsync через await с ключом сайта и URL страницы; после этого result.Code содержит токен, который затем отправит ваша форма или сессия браузера.
Расширение для ручной работы в браузере
Проходите регистрацию или оформление заказа вручную во время отладки? Дополнение для Chrome или Firefox замечает каждую капчу и передаёт её на решение запущенному приложению, без единой строчки на C#.
Пакет NuGet для распознавания капчи
Добавьте его в любой проект .NET и вызывайте строго типизированные асинхронные методы. Для команд на Python, Node.js или PHP есть родственные SDK на том же движке распознавания.
Локальный API для готовых .NET-клиентов
Клиент на C#, написанный для 2Captcha или похожего сервиса, продолжает отправлять привычные запросы. CapSkip отвечает по этому протоколу в вашей собственной сети, поэтому ничего не нужно переписывать.
Направьте тестовый проект на живую страницу reCAPTCHA
Прежде чем CapSkip попадёт в рабочий код, направьте черновое консольное приложение на наше демо reCAPTCHA v2. Оно загружает настоящий виджет, и вы увидите, как RecaptchaAsync возвращает действительно рабочий токен.
От восстановления NuGet до первой решённой капчи
-
Запустите CapSkip на машине с Windows
Установите CapSkip на любую рабочую станцию с Windows, VPS или выделенный сервер, доступный вашему коду на .NET, и оставьте его работать в фоне, пока вы пишете код. Скачать установщик
-
Активируйте тариф или пробный период
Купите подписку Bronze, Silver или Gold либо активируйте бесплатный 3-дневный пробный период на 500 решений, затем введите полученные по почте данные в приложении, чтобы его активировать. Оформите бесплатный пробный период
-
Добавьте пакет и вызовите await
Выполните dotnet add package CapSkip, укажите в CapSkipClient хост и порт из приложения и вызовите через await метод для вашего типа капчи из консольного приложения, службы или теста. Посмотреть все SDK
CapSkip против 2Captcha и CapSolver в коде на C#
Как локальное решение с фиксированной ценой выглядит на фоне облачного API с оплатой за объём, когда ваши сервисы на .NET работают с большой нагрузкой.
| Функция | CapSkip | 2Captcha / CapSolver |
|---|---|---|
| За что вы платите | Одна подписка от $35 в месяц, ничего за каждое решение | Каждое решение, тариф за 1000, оплата по факту |
| Где решается капча | Внутри CapSkip, на вашем собственном оборудовании с Windows | На серверах поставщика, иногда людьми-работниками |
| Счёт после загруженного месяца | Тот же, сколько бы задач вы ни ждали через await | Растёт с каждым решением и каждой повторной попыткой |
| Кто видит капчу | Никто: всё остаётся в вашей сети | Третья сторона получает каждую отправленную вами капчу |
| Параллельные решения | Столько потоков, сколько выдержат ваши процессор и память | Дополнительная пропускная способность обычно стоит дополнительных денег |
| Подключение к .NET | Пакет NuGet или старый клиент через эмуляцию | Собственная клиентская библиотека поставщика |
| Время решения капчи-картинки | Около 0,1 секунды, без удалённой очереди | Каждое изображение загружается, ждёт в очереди и опрашивается через интернет |
Цены
Хватит платить за каждое решение
Выберите лицензию
Лицензия Bronze
$35/ месяц
Мгновенная активация лицензии
Оплата помесячно. Отменить подписку можно в любой момент в личном кабинете.
Функции те же. Больше машин, больше производительность.
Каждая машина решает настолько быстро, насколько позволяют её процессор и память. Больше машин означает больше одновременных потоков, поэтому Silver решает вдвое больше капч одновременно, а Gold втрое больше.
- Безлимитное решение, без дневных ограничений
- Безлимитные потоки, скорость растёт вместе с оборудованием
- Точность распознавания от 90% до 100%
- Прямая замена API основных сервисов распознавания
- Работает почти с любым инструментом, без программирования
- REST API, SDK и расширение для браузера
- Бесплатное обучение, когда появляется новый тип капчи
- Работает на вашей машине, ничего с неё не уходит
Каждый тип капчи, показанный выше, входит в любую лицензию. Посмотреть список типов
Просто хотите сначала попробовать?
Начните с бесплатного 3-дневного пробного периода и решите 500 капч любого типа на своих целевых сайтах.
Похожие сервисы распознавания капчи & руководства
Как решать капчу на C#: от HttpClient до задач Hangfire
В коде на .NET капча обычно появляется в одном из трёх мест: в HttpClient, который отправляет форму, в сессии Selenium или Playwright, управляющей настоящим браузером, или в фоновой задаче, которая работает без присмотра. Один экземпляр CapSkipClient обслуживает все три случая; отличается только то, что вы делаете с ответом.
При работе с HttpClient получите ключ сайта или скачайте изображение с cookies сессии этой формы, вызовите через await подходящий метод, затем добавьте result.Code в FormUrlEncodedContent вашего POST-запроса в поле, которое читает целевая форма, обычно g-recaptcha-response. Странице проверки Cloudflare также нужны значения data и pagedata в параметрах, а следующий запрос должен идти с result.UserAgent.
Внутри сессии браузера SDK не трогает драйвер. Ваш тест считывает ключ из элемента, вызывает через await RecaptchaAsync или TurnstileAsync с driver.Url, записывает токен обратно через IJavaScriptExecutor или EvaluateAsync и отправляет форму. Эти токены действуют всего несколько минут, поэтому запрашивайте их непосредственно перед отправкой, а не в начале длинного теста.
Именно в автономной работе фиксированная лицензия окупается сполна. Задача Hangfire или hosted worker может повторить неудачное решение, работать по расписанию всю ночь и распараллеливаться через Task.WhenAll, и никому не нужно пополнять баланс. Перехватите CapSkipError один раз, чтобы записать в лог недоступное приложение, отклонённый параметр или тайм-аут, и передавайте CancellationToken задачи в каждый вызов, чтобы завершающийся хост никогда не зависал на незавершённом решении.
Уходите с CapSolver или 2Captcha, но хотите сохранить его .NET-клиент? На машине с CapSkip включите эмулятор этого сервиса и воспользуйтесь в приложении опцией файла hosts. Существующий код на C# остаётся нетронутым, а типы капч, которые он уже отправляет, решаются локально.
Руководства по теме: reCAPTCHA v2 на C# · Страница проверки Turnstile на C# · Капча в задачах Hangfire
Какой пакет NuGet установить, чтобы решать капчу в .NET?
Будет ли одна сборка пакета работать и на .NET Framework 4.6.1, и на .NET 8?
Как вставить решённый токен reCAPTCHA в страницу Selenium WebDriver на C#?
Справляется ли .NET SDK с полноэкранной проверкой Cloudflare, а не только с виджетом Turnstile?
Безопасно ли блокировать асинхронные методы в WinForms или консольной утилите?
Как отменить медленное решение или изменить его лимит времени в .NET?
Может ли клиент CapSolver или 2Captcha на C# работать дальше без изменений?
Достаточно ли Tesseract для распознавания капчи на C#?
Подключите CapSkip в следующей сборке .NET
Установите приложение, добавьте пакет NuGet и получите первый токен через await за считаные минуты. С этого момента каждое решение, которое запрашивает ваш код на C#, покрывается той же ежемесячной ценой при любом объёме.
