А саме, тут ми розглянемо компонент 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: