RecaptchaV2Task : решение капчи Google
* Предыдущее название: NoCaptchaTask. Будет поддерживаться вечно, обновление кода не требуется.
Объект содержит данные о задаче на решение рекапчи гугла в браузере на компьютере работника. Для обеспечения универсальности решения этого вида капчи нам необходимо использовать все данные, которые вы используете во время автоматизации заполнения формы на целевом сайте, включая прокси, user-agent браузера и cookies. Это позволит избежать любых проблем при изменении гуглом кода своей капчи.
Наша система решения выстроена таким образом, что браузер работника не получает данные о ваших прокси-серверах, cookies, и других данных. Все эти данные хранятся на нашем сервере и стираются после выполнения задания. Машина работника не имеет доступа к этим данным и взаимодействует исключительно с нашими серверами.
Перед выполнением задания система проверяет работоспособность вашего прокси-сервера и только после этого передает задачу работнику. Прокси должен обязательно обработать тестовый запрос в течение 5 секунд, иначе задача пометится ошибкой ERROR_PROXY_TIMEOUT и будет отменена.
Капча может решаться довольно долго по сравнению с обычной капчей, но это компенсируется тем, что полученный g-captcha-response действует еще 120 секунд после того, как работник решил капчу.
пример капчи |
Структура объекта
Параметр | Тип | Обязательный | Значение |
---|---|---|---|
type | String | Да | RecaptchaV2Task |
websiteURL | String | Да | Адрес страницы на которой решается капча |
websiteKey | String | Да | Ключ-индентификатор рекапчи на целевой странице. |
websiteSToken | String | Нет | Секретный токен для предыдущей версии рекапчи. В большинстве случаев сайты используют новую версию и этот токен не требуется. |
recaptchaDataSValue | String | Нет | Некоторые реализации виджета рекапчи могут содержать дополнительный параметр "data-s" в div'е рекапчи, который является одноразовым токеном и должен собираться каждый раз при решении рекапчи. |
proxyType | String | Да | http - обычный http/https прокси https - попробуйте эту опцию только если "http" не работает (требуется для некоторых кастомных прокси) socks4 - socks4 прокси socks5 - socks5 прокси |
proxyAddress | String | Да | IP адрес прокси ipv4/ipv6. Не допускается:
|
proxyPort | Integer | Да | Порт прокси |
proxyLogin | String | Нет | Логин от прокси-сервера |
proxyPassword | String | Нет | Пароль от прокси-сервера |
userAgent | String | Да | User-Agent браузера, используемый в эмуляции. Необходимо использовать подпись современного браузера, иначе Google будет возвращать ошибку, требуя обновить браузер. |
cookies | String | Нет | Дополнительные cookies которые мы должны использовать во время взаимодействия с целевой страницей. Формат: cookiename1=cookievalue1; cookiename2=cookievalue2 |
isInvisible | Boolean | Нет | Указать что рекапча невидимая. Флаг отобразит соответствующий виджет рекапчи у наших работников. В большинстве случаев флаг указывать не нужно, т.к. невидимая рекапча распознается автоматически, но на это требуется несколько десятков задач для обучения системы. |
Пример запроса
Адрес https://api.anti-captcha.com/createTask
Пример ответа:
Получение результата
Используйте метод getTaskResult чтобы получить решение капчи. Делайте первый запрос к этому методу через 10 секунд чтобы дать работнику время.
Свойство | Тип | Описание |
---|---|---|
gRecaptchaResponse | String | Хеш который необходимо подставить в форму с рекапчей в <textarea id="g-recaptcha-response" ..></textarea> . Имеет длину от 500 до 2190 байт. |
cookies | Array | Опциональный массив кук, которые были использованы при решении рекапчи. |
gRecaptchaResponseMD5 | String | Контрольная сумма gRecaptchaResponse в MD5. Передается только если добавить параметр isExtended со значением true в методе getTaskResult. Сделано исключительно для отладки, чтобы разработчик мог убедиться что получает хэш целиком. |
Пример:
Пример с рекапчей на google.com: