Робота з http протоколом

А саме, тут ми розглянемо компонент TNMHTTP (NetMasters HTTP), який можна виявити на вкладці FastNet палітри компонентів Дельфі.

Почнемо з теорії. Якщо Ви вже знаєте, що таке HTTP і навіщо він потрібен, то пропустіть наступний розділ.

Навіщо потрібен HTTP

  • Браузери - програми, що дозволяють переглядати веб-сторінки;
  • Скачівальщікі - програми, що дозволяють завантажувати з Інтернету сторінки, малюнки та інші документи;
  • Чати - програми, що дозволяють спілкуватися по мережі. Часто документи HTTP використовуються для зберігання повідомлень (як, наприклад, в конференціях).

- Це лише список деяких з стандартних напрямків програмування з використанням HTTP. Ви можете застосовувати цей протокол для будь-яких своїх цілей. Наприклад, автоматичні системи оновлення даних, посилка запитів в Інтернетівські бази, і ще безліч усіляких інших можливостей!

Короткий опис властивостей, методів і подій

Нижче наведена таблиця, яка містить найбільш короткий опис основних властивостей, методів і подій компонента TNMHTTP:

Body - рядок, що містить або шлях до файлу, в який буде записано тіло http-документа (якщо св-во InputFileMode одно True), або безпосередньо саме тіло (якщо св-во InputFileMode одно False). Тип: string;
Header - рядок, що містить або шлях до файлу, в який буде записаний заголовок http-документа (якщо св-во InputFileMode одно True), або безпосередньо сам заголовок (якщо св-во InputFileMode одно False). Тип: string;
HeaderInfo - структура, яка містить різну інформацію про http-документі (детальніше див. В help-файлі). Тип: THeaderInfo;
InputFileMode - тип запису результату. Значення True - запис у файли, зазначені у властивостях Body і Header. False - запис в самі ці властивості. Тип: Boolean;
OutputFileMode - тип відсилаються даних (методами Put. Post і Trace). Значення True - дані для відправки містяться в файлах, зазначених при виклику цих методів, а False - в самих аргументах цих методів. Тип: Boolean;

Далі деякі властивості, успадковані від TPowerSock:

BytesRecvd. BytesSent. BytesTotal - кількість відправлених, прийнятих і загальна кількість байтів відповідно. Тип: LongInt;
Connected - показує, встановлено чи в даний момент з'єднання. Тип: Boolean;
BeenCanceled - показує, чи було перервано з'єднання з сервером. Тип: Boolean;
Host - рядок, що містить хост-ім'я віддаленого комп'ютера. Заповнювати не треба, так як це властивість встановлюється автоматично при виклику методів Get. Put. Post і т.д. Тип: string. Port - Integer. що містить порт віддаленого комп'ютера (заповнюється теж автоматично);
TimeOut - таймаут в мілісекундах. Тип: Integer;

Ще є безліч властивостей, але я поки зупинюся на вже перерахованих. За додатковою інформацією звертайтеся до help-у за Дельфі.

Далі деякі методи, успадковані від TPowerSock:

Abort і Cancel - переривають з'єднання та обмін даними;
Disconnect - від'єднання від HTTP-сервера;

Далі деякі методи, успадковані від TPowerSock:

Практика і приклади

Ну а тепер приступимо до найголовнішого методу вивчення - на прикладах.

І найперший приклад - програма, що дозволяє визначити, чи існує заданий URL:

Схожі статті