<?php $xhe_host = "127.0.0.1:7015"; // init require("../Templates/init.php"); $bUTF8Ver=true; $PHP_Use_Trought_Shell=true; $rucaptcha->api_key="36f08e06ae18c1da9b1549c0dea*****"; echo $browser->navigate("https://www.google.com/recaptcha/api2/demo")."<br>"; while (!$div->get_by_attribute("class","recaptcha-checkbox-checkmark",false,0)->is_visibled())sleep(1); echo $check=$div->get_by_attribute("class","recaptcha-checkbox-checkmark",false,0)->send_mouse_click(mt_rand(1,4),mt_rand(1,4))."\n"; // 3 echo "3. Сохраним картинку и вопрос :"; while (!$image->get_by_src("www.google.com/recaptcha/api2/payload",false,1)->is_visibled())sleep(1); sleep(3); echo $image->screenshot_by_src("test\\tmp.jpeg","www.google.com/recaptcha/api2/payload",false,1)." "; // сохраним текст echo $describtion=explode("\n",$div->get_inner_text_by_attribute("class","imageselect-desc",false,1))[0]; // 4 // преобразуемв UTF для отправки в сервис рукапчи $describtion=iconv("windows-1251","utf-8",$describtion); // распознаем капчу - как ту где нужно сделать клики $solution=$rucaptcha->recognize_click_captcha("test\\tmp.jpeg",$describtion); // 5 echo "5. Кликнем по полученным координатам : \n\n"; if (strpos($solution,"coordinates:")!=-1) { $solution=str_replace("coordinates:","",$solution); $solution=str_replace(";",",",$solution); $coords=explode(",",$solution); $image->get_by_src("www.google.com/recaptcha/api2/payload",false,1)->focus(); for ($i=0;$i<count($coords);$i+=2) { $x=str_replace("x=","",$coords[$i]) ; $y=str_replace("y=","",$coords[$i+1]); echo "click at (".$x." ".$y.") : на картинке капчи : "; echo $image->get_by_src("recaptcha/api2/payload",false,1)->send_mouse_move($x,$y)." "; usleep(50000); echo $image->get_by_src("recaptcha/api2/payload",false,1)->send_mouse_click($x,$y)."\n"; usleep(mt_rand(300000,1000000)); } echo "\n"; } $btn->click_by_id("recaptcha-verify-button", "1"); // конец echo "<hr><br>"; // Quit $app->quit(); ?>
Помогите применить recognize_click_captcha
Помогите применить recognize_click_captcha
Скрипт взял со справки http://humanemulator.net/objects/WEB/ru ... aptcha.php подставил ключ рукапчи, но капча не гадается, что не так в скрипте, подскажите пожалуйста, может покороче как то можно использовать recognize_click_captcha
Re: Помогите применить recognize_click_captcha
Изменился просто frame картинки где содержаться картинки.
Сделать короче не получится - логика тут простая - как только появляется чекбокс для клика то происходит по нему клик "class","recaptcha-checkbox-checkmark" . Далее у нас появляется 9 картинок и текст. Мы делаем скриншот и описание и отправляем его на сервис распознавания рукапча. Оттуда нам возвращаются координаты и мы по ним кликаем.
Можно обрабатывать такие капчи другой командой
// API ключ $rucaptcha->api_key="ваш ключ"; // 1 echo "1. Перейдем на полигон : "; echo $browser->navigate("https://www.google.com/recaptcha/api2/demo")."<br>"; // 2 echo("2. Нажмем я не робот : "); while (!$div->get_by_attribute("class","recaptcha-checkbox-checkmark",false,0)->is_visibled()) sleep(1); echo $check=$div->get_by_attribute("class","recaptcha-checkbox-checkmark",false,0)->send_mouse_click(mt_rand(1,4),mt_rand(1,4))."\n"; // 3 echo "3. Сохраним картинку и вопрос :"; // теперь тут и далее frame =2 while (!$image->get_by_src("www.google.com/recaptcha/api2/payload",false,2)->is_visibled())sleep(1); sleep(3); echo $image->screenshot_by_src("test\\tmp.jpeg","www.google.com/recaptcha/api2/payload",false,2)." "; // сохраним текст echo $describtion=explode("\n",$div->get_inner_text_by_attribute("class","imageselect-desc",false,2))[0]; // 4 // преобразуемв UTF для отправки в сервис рукапчи $describtion=iconv("windows-1251","utf-8",$describtion); // распознаем капчу - как ту где нужно сделать клики $solution=$rucaptcha->recognize_click_captcha("test\\tmp.jpeg",$describtion); // 5 echo "5. Кликнем по полученным координатам : \n\n"; if (strpos($solution,"coordinates:")!=-1) { $solution=str_replace("coordinates:","",$solution); $solution=str_replace(";",",",$solution); $coords=explode(",",$solution); $image->get_by_src("www.google.com/recaptcha/api2/payload",false,2)->focus(); for ($i=0;$i<count($coords);$i+=2) { $x=str_replace("x=","",$coords[$i]) ; $y=str_replace("y=","",$coords[$i+1]); echo "click at (".$x." ".$y.") : на картинке капчи : "; echo $image->get_by_src("recaptcha/api2/payload",false,2)->send_mouse_move($x,$y)." "; usleep(50000); echo $image->get_by_src("recaptcha/api2/payload",false,2)->send_mouse_click($x,$y)."\n"; usleep(mt_rand(300000,1000000)); } echo "\n"; } $btn->click_by_id("recaptcha-verify-button", "2");
Сделать короче не получится - логика тут простая - как только появляется чекбокс для клика то происходит по нему клик "class","recaptcha-checkbox-checkmark" . Далее у нас появляется 9 картинок и текст. Мы делаем скриншот и описание и отправляем его на сервис распознавания рукапча. Оттуда нам возвращаются координаты и мы по ним кликаем.
Можно обрабатывать такие капчи другой командой
// API ключ $rucaptcha->api_key="ваш ключ"; // Пример : ReCaptcha V2 echo "1. Перейдем на полигон ReCaptcha V2: "; echo $browser->navigate("https://www.google.com/recaptcha/api2/demo")."<br>"; sleep(1); echo "2. Получение токена от сервиса распознования: "; echo $result = $rucaptcha->recognize_recaptcha_v2($webpage->get_url(),"6Le-wvkSAAAAAPBMRTvw0Q4Muexq9bi0DJwx_mJ-"); echo "<br>"; echo "3. Используем полученный токен для обхода капчи: "; // установим токен в скрытое поле g-recaptcha-response $textarea->set_value_by_name("g-recaptcha-response", $result); // нажимаем на кнопку Submit $button->click_by_id("recaptcha-demo-submit"); echo "<br>"; // пауза 5 сек sleep(5);
Re: Помогите применить recognize_click_captcha
а как гадать h-капчу? Подскажите пожалуйста! Чтобы она выскочила, достаточно на сайте https://freeusdcoin.com/ любой емэйл ввести и пароль.