Обработка капчи средствами php - как быть?

179
30 сентября 2018, 00:20

Есть скрипт который последовательно грузит файлы на сервер в группу вк. Но проблема в том, что после 20 файлов выскакивает капча и не дает грузить дальше. Можно ли как-то реализовать чтобы если в ответ сервер передал капчу - поставить скрипт на паузу, вывести окно с картинкой капчи и формой для ответа и после ввода и нажатия кнопки опять продолжить работать?

Я понимаю что нужно юзать формы, но не совсем понимаю как это можно реализовать на практике...

Пример моего кода который отправляет:

$cou = 0;
foreach($dro as $current){
$put1 = dirname(__FILE__).'/src/'.$current;
//$post_data = array("file1" => '@'.$put1);
$post_data['file'] =  new CURLFile($put1);
$url = file_get_contents("https://api.vk.com/method/docs.getUploadServer?group_id=".$group_id."&v=".$v."&access_token=".$token);
$url = json_decode($url)->response->upload_url;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$result = json_decode(curl_exec($ch),true);
$safe = file_get_contents("https://api.vk.com/method/docs.save?file=".$result['file']."&title=name_$cou&access_token=".$token."&v=".$v);
$kafe = json_decode($safe,true);
unlink($put1);
$cou++;}

Если скрипт возвращает капчу, то получаю ответ вида:

Array([captcha_sid] => 181337543764 [captcha_img] => https://api.vk.com/captcha.php?sid=181337543764&s=1 ) 
READ ALSO
Не работает Insert запрос

Не работает Insert запрос

Не работает запросОстальное по умолчанию прописано

193
Проблема с array_rand

Проблема с array_rand

Помогите, при var_dump($model) пишет NULL

160
Как изменить код

Как изменить код

В данном коде кнопка появляется при нажатии в каком нибудь месте блокаА как сделать так, чтобы только при нажатии ссылки в этом блоке появилась...

212
Постоянная подгрузка данных из БД

Постоянная подгрузка данных из БД

на форме есть структура(table) и форма с полями для вводаКогда пользователь вводит информацию в поля и жмет на кнопку, то данные добавляются...

221