- Регистрация
- 21.04.2016
- Сообщения
- 2 312
- Благодарностей
- 1 191
- Баллы
- 113
Этот шаблон является заменой старой версии моего сниппета с исправлением ошибки, которая возникает в нем в версии 5.19.0.0. Сам использую этот код для разгадки через рукапчу, когда нужно. Сейчас перенес в другую библиотеку этот код.
Поддерживаемые версии:
5.17 и выше (для работы автосабмита)
Без автосабмита должен работать на более ранних версиях
Как подключать
1) Импортируем библиотеки в GAC:
HtmlAgilityPack.dll
Newtonsoft.Json.dll
RecaptchaRecognition.dll
WebDriver.dll
2) Добавляем using:
using Recognition.Recaptcha2.RecognitionServices;
3) Копируем кубик из шаблона
Как использовать
Самый простой способ с автосабмитом для тех, кто не особо хочет во всем разбираться (автосабмит включен в приведенном коде):
Способ с более тонкой настройкой:
Все указанные ниже параметры не обязательны для указывания (можно закомментировать):
ApiKey - ключ API
RequestInterval - таймаут между запросами
Timeout - время ожидания ответа от рукапчи
GoogleSiteKey - sitekey рекапчи
IsInvisible - задает тип капчи - invisible или нет (если не задано значение, то определяет автоматически со вкладки)
Url - задаем url страницы.
Параметры, передаваемые в метод RecognizeRecaptchaInTab:
1 - instance, обязателен
2 - вкладка, параметр не обязателен
3 - настройки (если задаются вручную), параметр не обязателен
4 - использовать или нет autosubmit, по умолчанию - true, параметр не обязателен
Если нужно просто получить токен рекапчи без вкладки, то надо использовать такой код:
Для продвинутых пользователей есть асинхронный метод:
Поддерживаемые версии:
5.17 и выше (для работы автосабмита)
Без автосабмита должен работать на более ранних версиях
Как подключать
1) Импортируем библиотеки в GAC:
HtmlAgilityPack.dll
Newtonsoft.Json.dll
RecaptchaRecognition.dll
WebDriver.dll
2) Добавляем using:
using Recognition.Recaptcha2.RecognitionServices;
3) Копируем кубик из шаблона
Как использовать
Самый простой способ с автосабмитом для тех, кто не особо хочет во всем разбираться (автосабмит включен в приведенном коде):
Код:
IRecognitionService serviceRucaptcha = new Rucaptcha();
serviceRucaptcha.RecognizeRecaptchaInTab(instance, useAutoSubmit: true);
Способ с более тонкой настройкой:
Код:
IRecognitionService serviceRucaptcha = new Rucaptcha()
{
ApiKey = "5d9b82561718be1346e549da35fe4a41",
RequestInterval = TimeSpan.FromSeconds(10),
Timeout = TimeSpan.FromSeconds(320)
};
Recognition.Recaptcha2.RecognitionServices.RecaptchaSettings settings = new Recognition.Recaptcha2.RecognitionServices.RecaptchaSettings()
{
GoogleSiteKey = "Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
IsInvisible = true,
Url = "https://www.google.com"
};
serviceRucaptcha.RecognizeRecaptchaInTab(instance, instance.ActiveTab, settings, false);
ApiKey - ключ API
RequestInterval - таймаут между запросами
Timeout - время ожидания ответа от рукапчи
GoogleSiteKey - sitekey рекапчи
IsInvisible - задает тип капчи - invisible или нет (если не задано значение, то определяет автоматически со вкладки)
Url - задаем url страницы.
Параметры, передаваемые в метод RecognizeRecaptchaInTab:
1 - instance, обязателен
2 - вкладка, параметр не обязателен
3 - настройки (если задаются вручную), параметр не обязателен
4 - использовать или нет autosubmit, по умолчанию - true, параметр не обязателен
Если нужно просто получить токен рекапчи без вкладки, то надо использовать такой код:
Код:
IRecognitionService serviceRucaptcha = new Rucaptcha()
{
ApiKey = "5d9b82561718be1346e549da35fe4a41",
RequestInterval = TimeSpan.FromSeconds(10),
Timeout = TimeSpan.FromSeconds(320)
};
Recognition.Recaptcha2.RecognitionServices.RecaptchaSettings settings = new Recognition.Recaptcha2.RecognitionServices.RecaptchaSettings()
{
GoogleSiteKey = "Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-",
IsInvisible = false,
Url = "https://www.google.com"
};
string token = serviceRucaptcha.RecognizeRecaptcha(settings);
Код:
string token = await serviceRucaptcha.RecognizeRecaptchaAsync(settings);
Вложения
-
1,3 МБ Просмотры: 334
Последнее редактирование: