Шаг 263 - Использование WinInet

Классы WinInet реализованные в MFC поддерживают основные протоколы Internet:

HTTP	
FTP
GOPHER

Для обеспечения связи в MFC есть ряд классов:

CInternetSession
CInternetConnection
CInternetFile

Для инициализации связи Вы должны использовать объект CInternetSession. Дальше можно использовать CInternetSession::OpenUrl для доступа к ресурсам. Тип устанавливаемого соединения зависит от типа маркера URL. Ниже таблица соответствия маркера доступа и класса файлов.

file://		CStdioFile
http://		CHttpFile
ftp://		CInternetFile
gopher://	CGopherFile

Для установки конкретного соединения с протоколом есть дополнительные функции.

CInternetSession::GetHttpConnection
CInternetSession::GetFtpConnection
CInternetSession::GetGopherConnection

Для слежения за соединением реализована функция CInternetSession::OnStatusCallback. Для ее использования необходимо:

  1. Породить новый класс от CInternetSession
  2. Заменить функцию CInternetSession::OnStatusCallback()
  3. Вызвать функцию регистрации CInternetSession::EnableStatusCallback(TRUE)

После установки соединения Вы можете использовать классы на основе класса CInternetConnection для управления соединением. Этих классов три:

CFtpConnection
CHttpConnection
CGopherConnection

Данные классы используются на основе класса соединения.

CInternetSession session;
CHttpConnection* m_pHttp = session.GetHttpConnection("http://www.firststeps.ru/");

На основе установленной сессии можно получить файл используя классы порожденные от CInternetFile, их четыре:

StdioFile
CHttpFile
CInternetFile
CGopherFile

Например, вот так:

CInternetSession session;
CHttpConnection* m_pHttp = session.GetHttpConnection("http://www.firststeps.ru/");
CHttpFile* pFile = m_pHttp->OpenFile("default.htm");

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.