суббота, 15 ноября 2014 г.

Delphi - Загрузка изображений


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


Модуль очень удобен в использование, пример кода для загрузки каптчи на antigate:

  load:=TLoader.Create;
  load.EncodeValue:=false; //авто кодирование строки в
  load.LoadImageFromFile('C:\1.jpg'); //загрузка изображения в память
  load.AddImage('file', '', ''); //добавление изображения в запрос
  load.AddField('method', 'post'); //добавление поля
  load.AddField('key', '12345');
  load.SendFormData('http://antigate.com/in.php', ''); //отправка запроса
  load.Free;

Функционал модуля:

  1. Автоматическое кодирование передаваемых значений
  2. Автоопределение типа изображения (если не указано)
  3. Автоопределение имени (если не указано) 
  4. Возможность указать имя загружаемого файла
  5. Проверка ответа сервера на наличие строки
Из недостатков:

  1. Нет возможности передать куки в функцию
  2. Невозможна загрузка  обычных файлов

Описание функций:

  • LoadImageFromFile('полный путь до картинки') - загружает изображение в память.
  • LoadImageFromMemory(переменная типа TMemoryStream) - загружает изображение из памяти и хранит во внутренней переменной.
  • AddImage('имя поля', 'название картинки', 'тип') - добавляет картинку в запрос.
  • AddValue('переменная', 'значение') - добавляет новое поле в запрос
  • SendFormData('ссылка', 'искомое слово на странице') - отправляет сформированный запрос на указанный адрес стандартом multipart/form-data. Искомое слово - после выполнения запроса софт выполнит проверку "Если указанное слово найдено" то вернёт TRUE если не найдено FALSE.

Багрепорты приветствуются, исходник модуля с исчерпывающими комментариями можно скачать по ссылке: http://pastebin.com/LfcTxXDu

P.S. При копирование исходников на свой ресурс - уважайте мой труд, оставьте ссылочку на мой скромный бложек, я на нём не зарабатываю и рекламы тут никогда не будет. Всё создано специально для людей и НЕ ради денег. Спасибо.

9 комментариев:

  1. Vans, раз избыток времени, напиши пожалуйста для людей многопоточный бот для v-like.ru, пожалуйста )

    ОтветитьУдалить
    Ответы
    1. сорри, на оборот прочитал ((

      Удалить
    2. Как будет время - состряпаю бота, почему бы и нет.

      Удалить
    3. Vans, только если будешь делать, то делай с поддержкой прокси, иначе бан на сервисе...

      Удалить
  2. Сейчас контакт на месяц банить , скоро от бирж толка не будет

    ОтветитьУдалить
  3. Спасибо ,как всегда на высоте.И можно взять новое из модуля
    (с)GoldenEagle

    ОтветитьУдалить
  4. Хотел спросить вы крякаете еще софт?А то я посмотрел там заявки 2013г

    ОтветитьУдалить