Получите sitekey reCaptcha сайта - PullRequest
1 голос
/ 20 июня 2020

Я создаю сценарий node.js с кукловодом для создания учетной записи электронной почты, но у меня проблемы с проверкой reCaptcha. Я обнаружил плагин в puppeter-extra, который автоматически решает reCaptcha. (https://www.npmjs.com/package/puppeteer-extra-plugin-recaptcha)

И со следующим веб-сайтом: https://www.google.com/recaptcha/api2/demo Я могу получить скрипт для проверки моей reCaptcha и go вперед.

Но в https://mail.protonmail.com/create/new?language=en после ввода адреса электронной почты + пароля и нажатия кнопки для продолжения появляется reCaptcha, но скрипт не решает ее. Для решения reCaptcha необходима переменная sitekey, и в исходном коде веб-сайта я не могу ее найти.

Если я проверю элемент, я действительно могу получить источник captcha https://mail.protonmail.com/api/users/captcha/signup и найдите переменную с именем «publickey», которая очень похожа на «sendKey» на веб-сайте, на котором я заставил скрипт работать.

Я немного застрял и хотел бы знать как я могу это реализовать.

1 Ответ

1 голос
/ 20 июня 2020

ReCaptcha Protonmail не содержит sitekey (он должен быть в источнике под именем data-sitekey). publicKey, который вы нашли в источнике JavaScript, не относится к reCaptcha, а к самому Angular webapp, который содержит форму в iframe.

Обычно вы должны найти что-то похожий контейнер html элемент с ключом сайта (как в примере https://www.google.com/recaptcha/api2/demo):

<div class="g-recaptcha form-field" data-sitekey="xyz..."></div>

Это может отсутствовать в случае Protonmail по соображениям безопасности, они применили модификацию, чтобы предотвратить учетную запись создание ботами. См. Их объяснение по поводу верификации человека здесь .


Я настоятельно рекомендую вам прочитать ответ Томаса Дондорфа о reCaptcha и кукловоде.

...