POST на Delphi (API)
Народ нужна реализация поста на Delphi (необходимо засылать csv файл на скрипт) реализация на winApi подскажите кто что занет.... может у кого уже есть что написаное....
Заранее всем спасибо!
Не поверишь: у меня программулина с TIdHTTP, TTreeView, TrxDBGrid, кучей датасетов и прочей порчей весит всего (exe) 56кБ. Правда выглядит в IDE невзрачно - пустая форма. Всё создаётся динамически.
Размеров сильно добавляют компоненты, когда их на форме расставляешь.
Не класс, а объект класса... Все объекты создаются конструктором Create.
Вот тебе простейший действующий пример. Надеюсь, он даст пищу для размышлений. Положи на форму TMemo и TButton (это для наглядности). На событие OnClick кнопки напиши вот такое:
var
Fields: TIdMultiPartFormDataStream;
begin
{Ты посылаешь какие-то данные методом POST.
Поэтому нужно создать поля с данными (как если
бы ты отправлял форму из браузера)}
Fields := TIdMultiPartFormDataStream.Create;
with Fields do
begin
Fields.AddFormField('Field1', 'Value1');
Fields.AddFormField('Field2', 'Value2');
end;
{Создаём компонент и отправляем поток скрипту}
Memo1.Text := TIdHTTP.Create(Self).Post('http://твой_сервер/http.php', Fields);
end;
Не забудь в секцию uses написать следующие файлы: IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdHTTP, IdMultipartFormData
Ну и сделай файлик на сервере, на котрый отправляется вся эта бодяга. Если он PHP, то напиши там print_r($_POST);
Надеюсь, это как-нибудь подтолкнёт тебя для дальнейшего копания в Delphi.
ЗЫ. Не гонись за малыми размерами. Это видимость. API хорошо для себя. Там имеется тенденция чему-то всегда пропадать и появляться. Indy - вечно. :)
Размеров сильно добавляют компоненты, когда их на форме расставляешь.
Не поверю ;) По крайней мере со стандартными VCL компонентами...
Похоже на компиляцию с пакетами. Попробуй экзешник на соседней машине запустить, где дельфи не установлен ;)
Похоже на компиляцию с пакетами. Попробуй экзешник на соседней машине запустить, где дельфи не установлен ;)
Работает на любых компутерах.
Слукавил я, конечно. У меня многое по dll распихано. :)
Но всё равно, гоняться за маленькими размерами, создавая самому себе похмелье и бессоные ночи - не дело. К тому же это хочет делать человек, который не знает, как создать объект...
У тебя какое Delphi? Начиная с седьмого, Indy включено в Delphi вместе с .pas.