Використання 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: