Реферат: Работа с HTTP протоколом в Delphi

procedure THTTPThread.DoWork;

var i: Integer;

begin

{Создаемкомпонент TNMHTTP}

FHTTP := TNMHTTP.Create(Form1);

{Результат надо записывать в файлы}

FHTTP.InputFileMode := True;

{Подбираем имена для файлов}

i := 1;

while FileExists(Form1.Edit1.Text+'\page'+IntToStr(i)+'.htm') do

Inc(i);

{Указываем, в какие именно файлы класть результат}

FHTTP.Body := Form1.Edit1.Text+'\body'+IntToStr(i)+'.htm';

FHTTP.Header := Form1.Edit1.Text+'\header'+IntToStr(i)+'.txt';

{Пытаемся послать запрос}

FHTTP.Get(URL);

{Перед завершением процесса не забываем освободить память из-под компонента}

FHTTP.Free;

end;

ПРИМЕЧАНИЕ: Чтобы завершить некоторый процесс (Thread), нужно вызвать метод Terminate класса этого процесса. Приостановить процесс можно оператором Suspend, а продолжить выполнение - Resume. Также можно настроить приоритет каждого отдельного процесса через свойство Priority.

Неплохой пример работы с процессами можно найти в подпапке Demos\Threads папки, куда Вы установили Delphi.

Замечания по алгоритмам типовых задач

Если Вы собираетесь создать скачивалку сайтов, то Вам необходимо учитывать следующее (решить следующие проблемы):

Нужно скачивать не только саму страничку в формате HTML, но и все входящие в нее рисунки (gif, jpg, и т.д.);

в некоторых случаях удобно скачивать не одну страничку, а несколько страниц, ссылки на которые находятся на первой из скачиваемых страничек. При этом нужно учитывать, что на страничке могут находиться и ссылки на другие сайты, поэтому необходимо анализировать скачиваемые ссылки (чтобы случайно не скачать весь Интернет). Для решения задачи со скачиванием нескольких страничек нужно использовать рекурсию;

необходимо качественно информировать пользователя о ходе закачки. Т.е. показывать общее и скачанное количество информации;

после скачивания нужно заменить Интернетовские ссылки на локальные, чтобы можно было просматривать странички в режиме offline.

К-во Просмотров: 660
Бесплатно скачать Реферат: Работа с HTTP протоколом в Delphi