- Регистрация
- 21.04.2016
- Сообщения
- 2 312
- Благодарностей
- 1 191
- Баллы
- 113
Добрый день всем
Часто на форуме ищут hCaptcha, особенно она мешает на сайтах с Cloudflare.
Сам я не знаю javascript, поэтому этот шаблон стал возможен благодаря моей совместной работе с rucaptcha.com.
1) В первую очередь при создании окна страницы выполняется следующий javascript (добавляем javascript, выполнить - при создании окна, количество - один раз):
Скрин для тех, кто не совсем понял:
2) Далее надо открыть страницу с сайтом
3) Получаем токен hCaptcha. Можете использовать любой удобный вам способ
В шаблоне я привел 2 примера кубиков - для rucaptcha.com и для Capmonster.Cloud.
В настройках при отправке запроса на решение токена поддерживаются следующие функции, помимо основных:
A. Копируем библиотеки (файлы .dll) в папку ExternalAssemblies
B. Добавляем библиотеки через "Добавить -> Ссылки из GAC" и далее нажимаем на иконку и поочередно добавляем все библиотеки с пункта 1 из папки ExternalAssemblies в свой проект
C. Нажимаем "Добавить -> Директивы using и общий код" и в них на вкладке "Директивы using" вставляем следующие директивы:
D. Создаем кубик C# кода и вставляем туда следующий код:
4) Выполняем финальный callback
Важные замечания:
1) К шаблону идет библиотека около 80 Mb, меньше сделать по размеру я её не могу, так как это целый комплекс из различного функционала для работы с Zennoposter и не только
2) Rucaptcha использует тот же код в своем расширении и расширение работает без проблем.
3) В Cloudflare тоже работает, но не всегда. Всё зависит от токена - иногда у меня приходил неверный токен, когда я слал запрос с юзерагентом в рукапчу. Как только отключил отправку юзерагента, то Cloudflare пропустил.
4) Если хотите использовать мой метод получения токена, не забывайте добавлять библиотеки в папку ExternalAssemblies, ссылки в GAC и директивы using. В противном случае достаточно просто скопировать первый и последний кубики шаблона.
Часто на форуме ищут hCaptcha, особенно она мешает на сайтах с Cloudflare.
Сам я не знаю javascript, поэтому этот шаблон стал возможен благодаря моей совместной работе с rucaptcha.com.
1) В первую очередь при создании окна страницы выполняется следующий javascript (добавляем javascript, выполнить - при создании окна, количество - один раз):
JavaScript:
window.myInterval = setInterval(() => {
if (window.hcaptcha) {
console.log('hcaptcha available, lets redefine render method')
// if hcaptcha object is defined, we save the original render method into window.originalRender
window.originalRender = hcaptcha.render
// then we redefine hcaptcha.render method with our function
window.hcaptcha.render = (container, params) => {
console.log(container)
console.log(params)
// storing hcaptcha callback globally
window.hcaptchaCallback = params.callback
// returning the original render method call
return window.originalRender(container, params)
}
clearInterval(window.myInterval)
} else {
console.log('hcaptcha not available yet')
}
}, 10)
2) Далее надо открыть страницу с сайтом
3) Получаем токен hCaptcha. Можете использовать любой удобный вам способ
В шаблоне я привел 2 примера кубиков - для rucaptcha.com и для Capmonster.Cloud.
В настройках при отправке запроса на решение токена поддерживаются следующие функции, помимо основных:
- отправка прокси
- параметр data
- выбор типа - invisible или нет
- отправка юзерагента
A. Копируем библиотеки (файлы .dll) в папку ExternalAssemblies
B. Добавляем библиотеки через "Добавить -> Ссылки из GAC" и далее нажимаем на иконку и поочередно добавляем все библиотеки с пункта 1 из папки ExternalAssemblies в свой проект
C. Нажимаем "Добавить -> Директивы using и общий код" и в них на вкладке "Директивы using" вставляем следующие директивы:
C#:
using NSED.RecognitionServices.Rucaptcha;
using NSED.RecognitionServices.CaptchaSettings;
using NSED.Proxy;
C#:
//Настраиваем параметры hCaptcha
string proxyString = instance.GetProxy();
WebProxy proxy = proxyString == "" ? null : new WebProxy(proxyString);
hCaptchaSettings settings = new hCaptchaSettings()
{
//Раскомментировать следующую строку, если нужно отправлять задание вместе с прокси
//Proxy = proxy,
Data = null,
PageUrl = new Uri("https://lessons.zennolab.com/captchas/hcaptcha/nosubmit.php?level=moderate"),
Invisible = false,
SiteKey = "d391ffb1-bc91-4ef8-a45a-2e2213af091b",
//Юзерагент тоже можете раскомментировать при желании
//У меня разгадка CloudFlare cработала без отправки юзерагента
//UserAgent = project.Profile.UserAgent,
};
string apiKey = NSED.Browser.Support.SupportClass.GetServiceApiKey("Rucaptcha");
if (apiKey == null)
throw new Exception("Ключ для сервиса Rucaptcha не найден");
RucaptchaService hc = new RucaptchaService(apiKey);
hCaptchaTask task = new hCaptchaTask(settings, hc);
//Получаем токен
task.Recognize();
project.Variables["token"].Value = task.Token;
C#:
string token = project.Variables["token"].Value;
//устанавливаем значения токена в текстовые поля
instance.ActiveTab.FindElementByXPath("//textarea[@name='g-recaptcha-response']", 0)
.SetValue(token, "None");
HtmlElement heHcaptchaTB = instance.ActiveTab.FindElementByXPath("//textarea[@name='h-captcha-response']", 0);
if (heHcaptchaTB.IsVoid)
throw new Exception("Не найдено поле для вставки токена");
heHcaptchaTB.SetValue(token, "None");
//Выполняем callback функцию
string script = $@"
hcaptcha.getResponse = () => '{token}';
window.hcaptchaCallback('{token}');";
instance.ActiveTab.MainDocument.EvaluateScript(script, true);
1) К шаблону идет библиотека около 80 Mb, меньше сделать по размеру я её не могу, так как это целый комплекс из различного функционала для работы с Zennoposter и не только
2) Rucaptcha использует тот же код в своем расширении и расширение работает без проблем.
3) В Cloudflare тоже работает, но не всегда. Всё зависит от токена - иногда у меня приходил неверный токен, когда я слал запрос с юзерагентом в рукапчу. Как только отключил отправку юзерагента, то Cloudflare пропустил.
4) Если хотите использовать мой метод получения токена, не забывайте добавлять библиотеки в папку ExternalAssemblies, ссылки в GAC и директивы using. В противном случае достаточно просто скопировать первый и последний кубики шаблона.
- Категория
- Другое
- Номер конкурса шаблонов
- Восьмой конкурс шаблонов
- Уровень сложности
- Продвинутый
Вложения
-
28,1 МБ Просмотры: 721
Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.
Последнее редактирование: