cr1gger
@cr1gger
Все дороги ведут в Рим — встретимся в Риме!

Как пройти капчу hCaptcha с помощью RuCaptcha?

Стек который использую: php, yii, selenium
Пытаюсь получить доступ к https://spotifycharts.com/

Мои действия, я получай frame капчи:
#cf-hcaptcha-container > iframe
и достаю от туда src. Далее извлекаю sitekey:
private static function extractHCaptchaCode($url)
    {
        preg_match('~sitekey=(?<sitekey>.+?)(&|$)~ui', $url, $result);
        return !empty($result['sitekey']) ? $result['sitekey'] : false;
    }


И отправляю на сервер рукапчи:
public static function solveHCaptcha($code, $url_with_captcha)
    {
        $params = [
            'key' => Yii::$app->params['rucaptcha_api_key'],
            'method' => 'hcaptcha',
            'sitekey' => $code,
            'pageurl' => $url_with_captcha,
            'json' => 1,
        ];
        $url = 'http://rucaptcha.com/in.php?' . http_build_query($params);
        $client = new Client();
        $response = $client->createRequest()
            ->setMethod('GET')
            ->setUrl($url)
            ->send();
        if ($response->isOk && $response->data['status'] != 0)
        {
            $response_id = $response->data['request'];
            return self::waitResult($response_id);
        }
    }


Ну и ждем собственно решения, как только приходит ответ, отправляем результат:
$this->selenium->executeScript("
                document.querySelector('[name=h-captcha-response]').innerText = '$result_rucaptcha';
                document.querySelector('#challenge-form').submit();


Проблема в том что когда я это писал все работало, капча проходилась. На следующий день просто передстало работать.
Подумал сразу что они определяют webdriver
и сделал так чтобы здесь было все зеленоё у селениума: https://infosimples.github.io/detect-headless/
но это не помогло, капчу он так и не проходит, страница просто обновляется и все по новой... так до бесконечности, он не принимает результат и все.

Может кто сталкивался знает как пройти её ?
  • Вопрос задан
  • 571 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы