воскресенье, 10 апреля 2011 г.

Работа с файлообменником

Сегодняшняя статья будет на тему ‘Работа с файлообменником’, для начала покажу как будет выглядеть наша программа.


Вот такой будет интерфейс. Кинем на форму компоненты:
  • GroupBox
  • Edit – 4 шт
  • Label – 4 шт
  • Button – 2 шт
  • IdHTTP
  • OpenDialog
  • uses IdMultipartFormData;
Забыл сказать с каким файлообменником мы будем работать, так вот он RealFile.ru. Кому лень заходить, выкладываю скриншот, ну тут уже видно  что нужно заполнить поля, сам файл который нужно загрузить и по желанию, описание и пароль.
  

Включаем ‘сниффер’ и смотрим какие данные отправляет страничка и куда.
  

  1. File – файл.
  2. Descry – описание.
  3. Password  – пароль. 
Теперь мы узнали какие поля  нужно заполнить, перейдем к кодингу. 
В кнопке ‘Загрузить!’, в событии OnClick пишим:

var
 Data: TIdMultiPartFormDataStream; // Загружаются данные, которые нужно заполнить и чем заполнить
 S: String; //  Результат отправки Post запроса
begin
 Data := TIdMultiPartFormDataStream.Create;
 Data.AddFile('file', FilePath.Text, 'multipart/form-data'); // Заполняем файлом
 Data.AddFormField('descr', FileDescr.Text); // Описание
 Data.AddFormField('password', password.Text); // Пароль
 S :=  Idhttp1.Post('http://realfile.ru/', Data);     // Отправляем Post запрос, результат записываем в переменную S
 FileUrl.Text := Copy(S, Pos('value="',S)+7, Pos('" size="36">',S) - Pos('value="',S)-7); // Парсим ссылку на залитый файл
 Data.Free; // Удаляем переменную
end;
Ну вот и все. Заполнили все поля, отправили Post запрос с данными которые нужно заполнить получили результат, спарсили ссылку на файл. Скачать проект. 

2 комментария:

Сделай автору приятно - оставь комментарий!