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