Нажмите для просмотра прикрепленного файла
Инструкция
Код
AntiGate.dll - это плагин, который позволяет взаимодействовать UOPilot с сервисом AntiGate.com.
Данный сервис предназначен для распознавания текста с картинок(капчи), которые обычно необходимо вводить при регистрации.
Плагин необходимо поместить в папку Plugins рядом с uopilot.exe. Для работы требуются установленные библиотеки c++:
http://www.microsoft.com/ru-ru/download/details.aspx?id=40784
В плагине содержится 3 функции:
set $var AntiGate.SetKey (ваш_ключ)
set %sendImg AntiGate.SendImage ( *путь* доп_параметр=значение доп_параметр=значение ...)
set %getResult AntiGate.GetResult (id_изображения)
set $key AntiGate.SetKey (ваш_ключ)
Задание ключа для работы с сервисом.
$key - переменная, в которую помещается результат работы(текущий ключ).
ваш_ключ - ваш ключ от сервиса AntiGate
Пример:
set $key AntiGate.SetKey (12345678901234567890123456789012)
log $key
set %sendImg AntiGate.SendImage ( *путь* доп_параметр=значение доп_параметр=значение)
Отправка изображения на сервис.
%sendImg - массив в который помещается результат работы.
%sendImg [1] - флаг результата работы:
OK - загрузка прошла успешно.
ERROR - произошла ошибка.
%sendImg [2] - id_изображения, если оно успешно загружено, либо текст ошибки.
*путь* - адрес картинки на вашем компьютере. Не ссылка на нее в интернете, а именно файл на вашем жестком диске. Адрес обособляется '*'.
доп_параметр - дополнительный параметр, поддерживаемый сервисом AntiGate.
'значение'- значение дополнительного параметра.
Пример:
set %sendImg AntiGate.SendImage (*d:\captcha.jpg* regsense=1 phrase=1)
log %sendImg [1]
log %sendImg [2]
Список дополнительный параметров доступных на сервисе:
phrase 0|1
0 = дефолтное значение (одно слово)
1 = капча имеет два слова
regsense 0|1
0 = дефолтное значение (регистр не имеет значения)
1 = капча чувствительна к регистру
numeric 0|1
0 = дефолтное значение
1 = капча состоит только из цифр
2 = Капча не имеет цифр
calc 0|1
0 = дефолтное значение
1 = математическое действие из цифр на капче
min_len 0 .. 20
0 = дефолтное значение
>0 = минимальная длина текста на капче, которую работник должен ввести
max_len 0 .. 20
0 = дефолтное значение (не ограничено)
>0 = максимальная длина текста на капче, которую работник должен ввести
is_russian 0|1
0 = дефолтное значение
1 = показать капчу работнику со знанием русского языка
set %getResult AntiGate.GetResult (id_изображения)
Возвращает результат распознавания.
id_изображения - id полученный при отправке изображения с помощью AntiGate.SendImage().
Функция возвращает:
%getResult [1] - флаг результата работы:
ОК - капча успешно распознана.
NOT_READY - результат еще не готов, попробуйте чуть позже.
ERROR - произошла ошибка.
%getResult [2] - текст капчи, если она была распознана, либо текст ошибки.
Пример:
set %getResult AntiGate.SendImage (%sendImg [2])
log %getResult [1]
log %getResult [2]
Пример готового скрипта:
set linedelay 0
log mode compact
:start
// Воодим ключ от сервиса.
// Требуется выполнить всего 1 раз.
set $key AntiGate.SetKey (12345678901234567890123456789012)
log Текущий ключ: $key
// Обнуляем прошлый результат.
set %sendImg [1] ""
// Загрузка изображения может быть не удачной,
// например, из-за остустствия слотов.
// Повторяем попытки загрузить изображение
// пока не будет дан положительный ответ от сервера.
while %sendImg [1] <> "OK"
set %sendImg AntiGate.SendImage (*d:\captcha.jpg* regsense=1 phrase=1)
log Статус отправки изображения: %sendImg [1]
log Содержимое ответа на отправку изображения: %sendImg [2]
end_while
// Обнуляем прошлый результат.
set %getResult [1] ""
// Запрашиваем результат распознования.
while %getResult [1] <> "OK"
wait 5s
set %getResult AntiGate.GetResult (%sendImg [2])
log Статус получения результата: %getResult [1]
log Содержимое ответа на запрос результата: %getResult [2]
end_while
stop_script
Так же вам может пригодиться сохранение части экрана для последующей отправки на сервис:
'PrintScreen <handle> <x> <y> <width> <height> <path>'
Первым параметром указывается хэндл рабочего окна, либо 0 - весь экран. Если 'width' или 'height' =0 то берется максимально возможное значение.
printscreen workwindow 100 150 80 40 d:\captcha.jpg
Для работы требует установленные библиотеки c++.
На всякий случай прицепляю к сообщению.
Нажмите для просмотра прикрепленного файлаНажмите для просмотра прикрепленного файла
Вверх