Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Visual2.doc
Скачиваний:
5
Добавлен:
07.03.2016
Размер:
3.31 Mб
Скачать

11.3. Використання протоколу http

У наступному прикладі ми скористаємося HTTP (основним протоколом World Wide Web) для того, щоб завантажити HTML-код основної сторінки Microsoft. Приклад знаходиться у папці DISK\Internet\http. Програма буде заснована на вбудованій підтримці WinInet в Visual C++.

У нашій новій програмі буде присутня кнопка Отримати Web-сторінку.

При натисканні цієї кнопки програма завантажує фрагмент HTML-коду сторінки Microsoft (скажімо, перші 1000 байт) і відображає його в текстовому полі.

За допомогою AppWizard створіть програму на базі діалогового вікна і назвіть її HTTP. Додайте в діалоговому вікні текстове поле і кнопку з написом Отримати Web-сторінку (рис. 11.4).

Рис. 11.4. Графічне конструювання діалогового вікна для програми HTTP

Зв'яжіть з кнопкою обробник OnButton1(). У цьому методі ми створимо новий сеанс Інтернету (Internet session). Сеанс Інтернету являє собою об'єкт класу CInternetSession, на якому заснована вся підтримка Інтернету в Visual C++ (не забудьте додати рядок #include <afxinet.h> для роботи з Інтернет-компонентами):

void CHTTPDlg::OnButton1()

{

CInternetSession* pInternetSession;

.............................................................

}

Клас CInternetSession підтримує протоколи HTTP, FTP і Gopher, а його методи перераховані в табл. 11.2.

Таблиця 11.2

Методи класу CInternetSession

Метод

Призначення

CInternetSession

Створює об'єкт класу CInternetSession

Close

Розриває з'єднання з Інтернетом при завершенні сеансу

EnableStatusCallback

Визначає функцію непрямого виклику для відображення статусу

GetContext

Отримує ідентифікатор контексту для сеансу Інтернету або програми

GetFtpConnection

Відкриває сеанс FTP з сервером, робить реєстрацію користувача

GetGopherConnection

Відкриває сервер Gopher для програми, яка намагається встановити з'єднання

GetHttpConnection

Відкриває сервер HTTP для програми, яка намагається встановити з'єднання

OnStatusCallback

Оновлює інформацію про статус операції при заданій функції непрямого виклику

OpenURL

Аналізує і відкриває URL (адресу)

Оператор HINTERNET

Логічний номер поточного сеансу Інтернету

QueryOption

Надає ряд можливостей для перевірки помилок

ServiceTypeFromHandle

Отримує інформацію про тип сервісу за логічним номером запиту

SetOption

Задає параметри сеансу

Після оголошення вказівки pInternetSession на об'єкт нового сеансу, можна приступати до створення самого сеансу:

void CHTTPDlg::OnButton1()

{

CInternetSession* pInternetSession;

pInternetSession = new CInternetSession();

.............................................................

}

У результаті починається новий сеанс роботи з Інтернетом, причому для цього використовується спосіб, заздалегідь визначений користувачем - тобто, якщо комп'ютер не підключений до Інтернету, програма виведе вікно з'єднання і встановить зв'язок. Якщо ж спроба виявиться не вдалою, програму слід завершити:

void CHTTPDlg::OnButton1()

{

CInternetSession* pInternetSession;

pInternetSession = new CInternetSession();

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]