Компонент для работы с antigate.com
Скрин:
Функции:
Распознавание каптчи;
Получение баланса;
Жалоба на неправильно разгаданную каптчу.
Как устанавливать:
1. Скопируйте AC.pas в папку C:\Program Files\Borland\Delphi7\Lib
2. Выбирите "Сomponent" => "Install Сomponent" как показано на скрине:
3. Укажите путь до ac.pas как показано на скрине:
И нажмите кнопку "ОК"
4. В появившемся окне нажмите кнопку "YES"
Готово! Компонент установлен на вкладку Standard.
Как пользоваться:
В поле ApiKey вписывайте ваш ключ antigate.com (Узнать его можно тут)
Настройки (не обязательно):
Phrase = 0 или 1 (1 помечает что у капчи 2-4 слова)
Regsense = 0 или 1 (1 помечает что текст капчи чувствителен к регистру) не работает?
Numeric = 0 или 1 или 2 (1 помечает что текст капчи состоит только из цифр, 2 помечает что на капче нет цифр)
Calc = 0 или 1 (1 помечает что цифры на капче должны быть сплюсованы)
Min_len = 0..20 (помечает минимальную длину текста капчи)
Max_len = 0..20 (помечает максимальную длину капчи)
Is_russian = 0 или 1 или 2 (1 помечает что вводить нужно только русский текст, 2 - русский или английский)
0 по-умолчанию.
Как пользоватся функциями:
AC1.Recognize(' Полный путь до каптчи '); - функция возвращает текст каптчи.
Поддерживаются форматы каптч: JPG, GIF, PNG (Авто-определение!)
AC1.Report(' id каптчи '); - функция возвратит TRUE если запрос успешно отправился.
AC1.Getbalans(' ключ '); - функция возвратит баланс ключа.
Скрин:
Функции:
Распознавание каптчи;
Получение баланса;
Жалоба на неправильно разгаданную каптчу.
Как устанавливать:
1. Скопируйте AC.pas в папку C:\Program Files\Borland\Delphi7\Lib
2. Выбирите "Сomponent" => "Install Сomponent" как показано на скрине:
3. Укажите путь до ac.pas как показано на скрине:
И нажмите кнопку "ОК"
4. В появившемся окне нажмите кнопку "YES"
Готово! Компонент установлен на вкладку Standard.
Как пользоваться:
В поле ApiKey вписывайте ваш ключ antigate.com (Узнать его можно тут)
Настройки (не обязательно):
Phrase = 0 или 1 (1 помечает что у капчи 2-4 слова)
Regsense = 0 или 1 (1 помечает что текст капчи чувствителен к регистру) не работает?
Numeric = 0 или 1 или 2 (1 помечает что текст капчи состоит только из цифр, 2 помечает что на капче нет цифр)
Calc = 0 или 1 (1 помечает что цифры на капче должны быть сплюсованы)
Min_len = 0..20 (помечает минимальную длину текста капчи)
Max_len = 0..20 (помечает максимальную длину капчи)
Is_russian = 0 или 1 или 2 (1 помечает что вводить нужно только русский текст, 2 - русский или английский)
0 по-умолчанию.
Как пользоватся функциями:
AC1.Recognize(' Полный путь до каптчи '); - функция возвращает текст каптчи.
Поддерживаются форматы каптч: JPG, GIF, PNG (Авто-определение!)
AC1.Report(' id каптчи '); - функция возвратит TRUE если запрос успешно отправился.
AC1.Getbalans(' ключ '); - функция возвратит баланс ключа.
В тему!
ОтветитьУдалитьО ООП это тру
ОтветитьУдалитьАвтор, поправь немного свой код, а то программа висит во время ожидания каптчи:
ОтветитьУдалить1)Добавь к классу TAC свойство application которому при инициализации нужно присвоить application проекта.
2) вместо sleep(5000);
ИМХО лучше добавить вот такое:
for j := 0 to 49 do
begin
sleep(100);
application.ProcessMessages;
end;
Нынче не модно потоки использовать?
Удалитьна delphi ХЕ2 пойдет?
ОтветитьУдалить>> Нынче не модно потоки использовать?
ОтветитьУдалитьНе модно, а нудно!
if pos('.jpg', filename)<>0 then tip:='image/jpeg';
ОтветитьУдалитьif pos('.gif', filename)<>0 then tip:='image/gif';
if pos('.png', filename)<>0 then tip:='image/png';
рукалицо
Всё правильно. Если вы почитаете документацию по API антигейта - станет ясно что он принимает только эти форматы картинок.
УдалитьВопросы?
Хотелось бы знать тогда, какой mime будет выбран для картинки формата и расширения jpeg с именем "image.png.jpg"?
УдалитьОчевидно же, в случае pos('.jpg', filename) будет JPG, а в случае pos('.png', filename) будет PNG. А что бы такого не было надо давать нормальные имена.
УдалитьЧтобы такого не было, лучше получать расширение с помощью ExtractFileExt()
ОтветитьУдалитьКомпонент просто отвратительный! Качать категорически не советую. Эту страничку нашел с сайта antigate.com, я просто удивлен что на их офф сайте публикуется такое, код просмотрел чисто визуально, особо не вчитывался, тем неменее:
ОтветитьУдалить1. объект IdHTTP вообще объявлен глобально, то есть о многопоточности можно забыть сразу. Это самый большой fail.
2. при каждом сетевом запросе объект IdHTTP заново создается и после выполнения запроса уничтожается, это конечно тоже не гуд, но fail заключается в том что создание/уничтожение идет не в блоках try...finally end; То есть при исключении объект нифига не удалится, тут конкретная утечка памяти. Так же видно что обработки исключений нет вообще, если учесть что этот компонент сделан на конкретное нубьё которое из знать не знает что такое исключения, то это вообще не гуд.
3. Почему конструктор в секции published? Это конечно не баг, но не здраво так делать.
Я бы вообще забил бы на это все, если не выкладывалось бы это все на офф сайте антигейта, им писать бестолку, решил сюда.
Компонент создан для новичков. Не нравится? Я не заставляю пользоваться.
УдалитьПочему бы не сделать как надо, не зависимо для кого это?
УдалитьЯ могу дать годные наработки.
Я бы с радостью, но времени мало. Была идея переписать под синапс но не у многих он стоит.
УдалитьА у меня нету C:\Program Files\Borland\Delphi7\Lib
ОтветитьУдалитьТогда нужно биться головой о стену. Xe3 другая папка.
УдалитьИнвайты на пиксодром http://pixodrom.com с бесплатным тестом капч
ОтветитьУдалить8FCEA8F9
http://pixodrom.com/i/8FCEA8F9
54935E57
http://pixodrom.com/i/54935E57
A455A535
http://pixodrom.com/i/A455A535
7D12F9F5
http://pixodrom.com/i/7D12F9F5
E597AED1
http://pixodrom.com/i/E597AED1
696FC2C1
http://pixodrom.com/i/696FC2C1
3BEF28CE
http://pixodrom.com/i/3BEF28CE
393D55FB
http://pixodrom.com/i/393D55FB
927A682C
http://pixodrom.com/i/927A682C
1A314566
http://pixodrom.com/i/1A314566
Смысл оставлять это тут?
Удалитьна pixodrom цена всего $0.9 за 1000 капч
Удалитьна rucaptcha.com - вообще 0,5$ за 1000
УдалитьНа офф.сайте АГ скачай. Давно пора его обновить :)
ОтветитьУдалитьЯ так и не понял, как получить ID каптчи?
ОтветитьУдалитьВсё работает, но бывают промахи и я зря выбрасываю один цент за неправильно разгаданную каптчу. Автар, ответь, плз.
Добавьте глобальную переменную и туда сохраняйте идентификатор каптчи, затем в функции report его используйте.
УдалитьДелаю так:
Удалитьvar S:string;
S:=AC1.Recognize(' Полный путь до каптчи ');
Но после отправки, в S пустота. Только по окончанию sleep(5000) появляется уже сам текст разгаданный. Хотя, по идеи, как я понял, в S сначало должно приходть ID каптчи.
В начале модуль получает ID каптчи и ждёт 5 секунд, после чего проверяет статус каптчи. Вод перед тем как он ждёт 5 секунд надо записать в глобальную переменную ID каптчи для дальнейшего использования в функции report;
УдалитьЯ ЭТО ЗНАЮ!!!!Я ЗНАЮ КАК ПОЛУЧИТЬ, но она не записывается в переменную, что не ясно? Возьми попробуй сам.
УдалитьЭтот комментарий был удален автором.
УдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьСделайте пожалуйста модуль для новой reCaptcha 2
ОтветитьУдалитьТам придётся использоваться либо ишака либо виндовский MSScriptControl. В любом случае бесплатно я такое не подарю.
УдалитьСтранный человек. А тут что-то вообще подарено? Я вижу только .pas с весьма кривым кодом, который обращается к серверу для распознавания капчи.
УдалитьНынче не модно WinAPI использовать? Хотя бы для того, чтобы клиенты не тащили за собой 100500 лишних КБ ради анализатора, который понимает простецкие капчи.
Если бы вы сударь понимали что то кроме слова "winapi" - давно бы сделали на этом WinAPI свой суперкомпонент с ровным кодом (в строчку и без отступов?). Я никого не заставляю юзать именно этот компонент, есть куча аналогов на том же синапсе.
Удалить