Распознавание через модуль yandexnew

fighter_kit

Новичок
Регистрация
13.05.2018
Сообщения
9
Благодарностей
0
Баллы
1
Приветствую всех!

Столкнулся вот с такой историей: старая новая капча от Яндекса, состоящая из двух слов, содержит порой моменты, когда помимо букв необходимо набирать ещё и другие символы (":", "(", ")", ",", "." и т.п.). Опытным путём было установлено, что эти символы в ответе приходить должны, иначе капча не будет пройдена. Вот, что показывает CM:



Как видно из этих скринов, CM прекрасно справляется (ну, почти) с вариантами, где имеются только слова (при этом не важно, на каком языке они написаны), однако с точками, запятыми и двоеточиями это получается ровно никак — эти символы просто вырезаются.

Вопроса тут будет два:
1. Вероятно ли, что дело в запросе, который я отсылаю на сервер? Если да, то где можно раздобыть документацию по составлению запросов при отправке картинок (а то поиски по wiki не дали почти никакого результата; разве что ReCaptcha там описана)?
2. Если дело не в запросах, а в том, что модуль отказывается определять другие символы, то насколько реально доработать модуль до адекватного состояния (думаю, что это понадобится многим в последующем)?
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 233
Благодарностей
5 844
Баллы
113
Вроде бы должны были дообучить модуль на эти символы, но видимо не получилось.
Если не сложно пришлите образцы таких капч. Нужно много... несколько тысяч.
 

fighter_kit

Новичок
Регистрация
13.05.2018
Сообщения
9
Благодарностей
0
Баллы
1
Вроде бы должны были дообучить модуль на эти символы, но видимо не получилось.
Если не сложно пришлите образцы таких капч. Нужно много... несколько тысяч.
Для начала, спасибо, что ответили. Собрать материал абсолютно не сложно. Правда, сбор материала убивает кучу времени, поэтому сейчас закину первую тысячу, остальное пришлю позже.

И да, боюсь показаться немного глупым, но попробую ещё несколько своих наблюдений описать. Пока собирал эту тысячу капч, выявил следующие особенности:
  • В некоторых капчах присутствуют посторонние рисунки, которые обрабатывать вообще не стоит, поскольку на клавиатуре их просто не наберёшь: пятиконечные звёздочки, яблоки, прочая ересь...
  • В части капч могут наблюдаться буквы, которые нужно будет заменить аналогами в латинице: например, мало кому придёт в голову ввести символ "Å", когда есть латинская "A" как аналог;
  • В остальных случаях подставы тоже могут встречаться, но там хотя бы главное слово как-то выделено, поэтому понять, что вводить надо, возможно. Но самый большой прикол был, когда я увидел вот это:

    Думаю, что здесь всё понятно, но вот кому так повеселиться захотелось, не ясно до сих пор)
  • Местами встречаются в изображениях кавычки разных типов: ", «, и ещё парочка типов.
  • И ещё: даже в выборке 1000 капч заметно, что "половинки" картинок могут повторяться. Не знаю, насколько это может облегчить жизнь, но вдруг...
Вот такие дела! Как и написал ранее, чуть позднее пришлю ещё пару тысяч.
 

Вложения

fighter_kit

Новичок
Регистрация
13.05.2018
Сообщения
9
Благодарностей
0
Баллы
1
Приветствую ещё раз! Поскольку никаких новостей по поводу обновления модуля для новых капч Яндекса я пока не нашёл, решить помочь, чем смогу.
Держите архив на 36 тысяч капч (сколько удалось собрать за месяц): https://yadi.sk/d/_9UJwoGc3XnmJh . Надеюсь, это поможет.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 233
Благодарностей
5 844
Баллы
113
Сегодня обновили модуль. Процент распознавания примерно 60%.
 
  • Спасибо
Реакции: Sergodjan

fighter_kit

Новичок
Регистрация
13.05.2018
Сообщения
9
Благодарностей
0
Баллы
1
Сегодня обновили модуль. Процент распознавания примерно 60%.
Жаль, что только в обновлённой версии я это никак проверить не могу:
upload_2018-7-5_16-23-58.png


Версия 2.10.8.0. Отправляю через POST-запрос с base64. Раньше хотя бы картинку показывало, а теперь как-то не хочет. Есть пути решения?
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 233
Благодарностей
5 844
Баллы
113
Жаль, что только в обновлённой версии я это никак проверить не могу:
Посмотреть вложение 30678

Версия 2.10.8.0. Отправляю через POST-запрос с base64. Раньше хотя бы картинку показывало, а теперь как-то не хочет. Есть пути решения?
Пришлите образец запроса, посмотрим в чем проблема.
Если отправляете по API сервиса распознавания, то должно проходить.
 

FastSpace

Client
Read only
Регистрация
05.04.2018
Сообщения
665
Благодарностей
240
Баллы
43
Жаль, что только в обновлённой версии я это никак проверить не могу:
Посмотреть вложение 30678

Версия 2.10.8.0. Отправляю через POST-запрос с base64. Раньше хотя бы картинку показывало, а теперь как-то не хочет. Есть пути решения?
Хочешь отправить картинку? - Плачи 15000 рублей за зеннопостер. Поддержка других софтов сейчас полностью прекращена. Тут сейчас главная проблема неверный токен рекаптчи, а про остальное врятли вспомнят.
 

FastSpace

Client
Read only
Регистрация
05.04.2018
Сообщения
665
Благодарностей
240
Баллы
43
Пришлите образец запроса, посмотрим в чем проблема.
Скачайте любой другой софт. Отправьте картинку, и вы получите ошибку. У вас что-то поменялось в порядке приема запроса и вы не хотите об этом никому говорить.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 233
Благодарностей
5 844
Баллы
113
Хочешь отправить картинку? - Плачи 15000 рублей за зеннопостер. Поддержка других софтов сейчас полностью прекращена. Тут сейчас главная проблема неверный токен рекаптчи, а про остальное врятли вспомнят.
Предупреждаю, что негатив и необоснованная критика запрещены правилами форума.
 

one

Client
Регистрация
22.09.2015
Сообщения
6 793
Благодарностей
1 264
Баллы
113

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 233
Благодарностей
5 844
Баллы
113
  • Спасибо
Реакции: one

FastSpace

Client
Read only
Регистрация
05.04.2018
Сообщения
665
Благодарностей
240
Баллы
43
Пользователь что-то придумавает от себя....
fighter_kit, Тоже что-то придумал? Тут вам пачками пишут, что вы поменяли что-то в порядке приёма запроса от других софтов для версии 2.1.8.0, а вы только пытаетесь усмехнуться и сделать вид, что ничего не произошло. Причем для версии 2.1.7.0 работает всё как обычно хорошо.
 

fighter_kit

Новичок
Регистрация
13.05.2018
Сообщения
9
Благодарностей
0
Баллы
1
Пришлите образец запроса, посмотрим в чем проблема.
Если отправляете по API сервиса распознавания, то должно проходить.
Как это обычно происходит. Берём код на PHP, опираясь на апишку рукаптчи:
PHP:
        $imageCode = explode(',', $base64);
        $imageCode = $imageCode[1];

        $postData = array(
            'method'    => 'base64',
            'key'       => $apiKey,
            'body'      => $imageCode,
            'phrase'    => $is_phrase,
            'regsense'    => $is_regsense,
            'numeric'    => $is_numeric,
            'min_len'    => $min_len,
            'max_len'    => $max_len,
            'language'    => $language
        );

        # отправляем запрос
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL,             "http://$domain/in.php");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,     1);
        curl_setopt($ch, CURLOPT_TIMEOUT,             60);
        curl_setopt($ch, CURLOPT_POST,                 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS,         $postData);

        $result = curl_exec($ch);
Здесь: $domain - DNS сервера, куда отправляется запрос; $base64 - исходная картинка, переведённая в код base64 (со всеми "data:image/png;base64,......." и тому подобное), $imageCode здесь оказался нужным, когда я руками вычислил, что КМ нужно отправлять "голый" код base64 без начальных метаданных. Остальные переменные как раз относятся к API rucaptcha, тут много пояснять не стоит. После резалта идёт тупо разбор ответа, это уже не особо интересная часть.

Суть в том, что в ранних версиях с отправкой было всё адекватно (как раз использовал 2.10.7.0 на момент написания первого поста), а сегодня обновился - и такое вот.

Тут вам пачками пишут, что вы поменяли что-то в порядке приёма запроса от других софтов для версии 2.1.8.0, а вы только пытаетесь усмехнуться и сделать вид, что ничего не произошло.
Предлагаю просто реквестировать документацию по конструированию запросов. Особенно, если имеется какой-то отдельный "родной" формат для POST-запросов (тогда не придётся заниматься эмулированием); и я думаю, что большинство вопросов на форуме будет исчерпано.
 

fighter_kit

Новичок
Регистрация
13.05.2018
Сообщения
9
Благодарностей
0
Баллы
1
О, пока совсем не забыл; вероятно, это может помочь. Вот, что выдаёт в логах при отправке (для чистоты эксперимента взял тот самый случай из скрина; UPD: случайно указал иное время, всё-таки не один раз пытался "пробить" оборону):
Код:
2018-07-05 16:20:52.7521|MultiNetRecognize Recognize|System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
   в ZennoLab.Structures.RGBIntMassConverter.YbEhcMPWxcRnZu5e3m(Object )
   в ZennoLab.Structures.RGBIntMassConverter.BitmapToByteArray(Bitmap image, MatrixArrayRePackingFormat rePackingFormat)
   в ZennoLab.CapthaService.Modules.RemoteRecognizingModule.tT4r5DYHCSpO9EARhBdl(Object , MatrixArrayRePackingFormat )
   в ZennoLab.CapthaService.Modules.RemoteRecognizingModule.mxgAjrZ07Z(Object  )
   в ZennoLab.CapthaService.Modules.RemoteRecognizingModule.hjLACBhiYi(Image  )
   в ZennoLab.CapthaService.Modules.RemoteRecognizingModule.MultiNetRecognize(Image image, CaptchaDescriptor descriptor, Boolean parallelMode, String& error, Int32 threadId)
2018-07-05 16:28:17.2439|MultiNetRecognize Recognize|System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
   в ZennoLab.Structures.RGBIntMassConverter.YbEhcMPWxcRnZu5e3m(Object )
   в ZennoLab.Structures.RGBIntMassConverter.BitmapToByteArray(Bitmap image, MatrixArrayRePackingFormat rePackingFormat)
   в ZennoLab.CapthaService.Modules.RemoteRecognizingModule.tT4r5DYHCSpO9EARhBdl(Object , MatrixArrayRePackingFormat )
   в ZennoLab.CapthaService.Modules.RemoteRecognizingModule.mxgAjrZ07Z(Object  )
   в ZennoLab.CapthaService.Modules.RemoteRecognizingModule.hjLACBhiYi(Image  )
   в ZennoLab.CapthaService.Modules.RemoteRecognizingModule.MultiNetRecognize(Image image, CaptchaDescriptor descriptor, Boolean parallelMode, String& error, Int32 threadId)
 

FastSpace

Client
Read only
Регистрация
05.04.2018
Сообщения
665
Благодарностей
240
Баллы
43
Как это обычно происходит. Берём код на PHP, опираясь на апишку рукаптчи:
Суть в том, что в ранних версиях с отправкой было всё адекватно (как раз использовал 2.10.7.0 на момент написания первого поста), а сегодня обновился - и такое вот.
Люди об этом сюда уже 2 недели пишут. Результата 0 и дальше будет также. Сейчас есть проблема намного поважнее и заниматься этой мелочью никто не будет в ближайшее время.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
19 458
Благодарностей
8 682
Баллы
113
Люди об этом сюда уже 2 недели пишут. Результата 0 и дальше будет также. Сейчас есть проблема намного поважнее и заниматься этой мелочью никто не будет в ближайшее время.
Если не прекратите лить негатив, будет наложен рид-онли режим на длительный срок..
В жизни любого софта есть черные и белые полосы, разработчики занимаются текущими проблемами в авральном режиме..
 
Последнее редактирование:

FastSpace

Client
Read only
Регистрация
05.04.2018
Сообщения
665
Благодарностей
240
Баллы
43
Если не прекратите лить негатив, будет наложен рид-онли режим на длительный срок..
В жизни любого софта есть черные и белые полосы, разработчики занимаются текущими проблемами в авральном режиме..
Хорошо я понял, но ведь можно об этом всем сообщить, а не пытаться сделать вид, что все хорошо и при этом угрожать обычным пользователям каким-то карательными методами?
 

one

Client
Регистрация
22.09.2015
Сообщения
6 793
Благодарностей
1 264
Баллы
113
FastSpace, тебе ныть не надоело?
 

Malinin

Client
Регистрация
20.01.2018
Сообщения
229
Благодарностей
52
Баллы
28
Может, чисто картинки в base64 не принимает? Я шлю обычные, все проходит так, как и в прошлых версиях.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 233
Благодарностей
5 844
Баллы
113
$base64 - исходная картинка, переведённая в код base64 (со всеми "data:image/png;base64,......." и тому подобное), .
сама картинка должна быть в только в голом коде base64, без - data:image/png;base64,......." и тому подобное
 

fighter_kit

Новичок
Регистрация
13.05.2018
Сообщения
9
Благодарностей
0
Баллы
1
сама картинка должна быть в только в голом коде base64, без - data:image/png;base64,......." и тому подобное
Так я и отсекаю это дело: я же отправляю в теле запроса тупо "голый" код base64; для этого в представленном мной фрагменте есть переменная $imageCode, которая и хранит этот самый "голый" код. Так что про то, что картинка должна быть только в "голом" коде, я представляю. Может, ещё что-то не так в запросе?
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 233
Благодарностей
5 844
Баллы
113
Так я и отсекаю это дело: я же отправляю в теле запроса тупо "голый" код base64; для этого в представленном мной фрагменте есть переменная $imageCode, которая и хранит этот самый "голый" код. Так что про то, что картинка должна быть только в "голом" коде, я представляю. Может, ещё что-то не так в запросе?
Наверное только отснифанный запрос поможет разобраться. Буду показывать программистам.
И если есть возможность отправлять картинку просто в байтах в multpart, то попробуйте этот способ, а не base64.

Upd: и репорт диагностики сделайте пожалуйста, с включенным подробным логом, после воспроизведения ошибки.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 233
Благодарностей
5 844
Баллы
113
Так я и отсекаю это дело: я же отправляю в теле запроса тупо "голый" код base64; для этого в представленном мной фрагменте есть переменная $imageCode, которая и хранит этот самый "голый" код. Так что про то, что картинка должна быть только в "голом" коде, я представляю. Может, ещё что-то не так в запросе?
Мы у себя проверяем, вот такой запрос по Апи рукапчи успешно проходит:

<form method="post" action="http://rucaptcha.com/in.php">
<input type="hidden" name="method" value="base64">
Ваш ключ:
<input type="text" name="key" value="YOUR_APIKEY">
Тело файла капчи в формате base64:
<textarea name="body">BASE64_FILE</textarea>
<input type="submit" value="Загрузить и получить ID">
</form>
BASE64_FILE — тело файла капчи в формате base64, именно "голый код", про который я говорил.
 

fighter_kit

Новичок
Регистрация
13.05.2018
Сообщения
9
Благодарностей
0
Баллы
1
Мы у себя проверяем, вот такой запрос по Апи рукапчи успешно проходит
Ну, вопрос заключался не в использовании формы, а в запросах через cURL, но я уже разобрался, что нужно было изменить.

Для справки всем присутствующим: приведённый мной выше пример запроса через cURL на PHP отправляет запрос как multipart, а надо было чуть иначе. Для этого нужно было поправить одну строку вот таким образом:
PHP:
curl_setopt($ch, CURLOPT_POSTFIELDS,         http_build_query($postData));
Хорошая новость — картинки начали проявляться, в логах наблюдается. Плохая — проблема со знаками препинания всё ещё осталась нерешённой:
upload_2018-7-6_15-20-43.png
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 233
Благодарностей
5 844
Баллы
113
Ну, вопрос заключался не в использовании формы, а в запросах через cURL, но я уже разобрался, что нужно было изменить.

Для справки всем присутствующим: приведённый мной выше пример запроса через cURL на PHP отправляет запрос как multipart, а надо было чуть иначе. Для этого нужно было поправить одну строку вот таким образом:
PHP:
curl_setopt($ch, CURLOPT_POSTFIELDS,         http_build_query($postData));
Хорошая новость — картинки начали проявляться, в логах наблюдается. Плохая — проблема со знаками препинания всё ещё осталась нерешённой:
Посмотреть вложение 30694
Т.е. вы отправляли картинку в кодировке base64 в multipart запросе? Это некорректно.
 

fighter_kit

Новичок
Регистрация
13.05.2018
Сообщения
9
Благодарностей
0
Баллы
1
Т.е. вы отправляли картинку в кодировке base64 в multipart запросе? Это некорректно.
Это я уже и так понял. Правда, в предыдущих версиях и старый код до внесённых изменений работал исправно, но это уже мелочи. А вот то, что пунктуационные знаки, о которых я говорил, так и не начали появляться, пока что слегка расстраивает (хотя я понимаю, это обучить не так-то уж и просто).
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)