Класс CHttpConnection

Управление подключением к HTTP-серверу.

Синтаксис

class CHttpConnection : public CInternetConnection

Участники

Открытые конструкторы

Имя Описание
CHttp Подключение ion::CHttp Подключение ion Создает объект CHttpConnection.

Открытые методы

Имя Описание
CHttp Подключение ion::OpenRequest Открывает HTTP-запрос.

Замечания

HTTP — это один из трех протоколов интернет-сервера, реализованных классами WinInet MFC.

CHttpConnection Класс содержит конструктор и одну функцию-член OpenRequest, которая управляет подключениями к серверу с протоколом HTTP.

Для взаимодействия с HTTP-сервером необходимо сначала создать экземпляр CInternetSession, а затем создать объект CHttp Подключение ion. Объект никогда не создается напрямуюCHttpConnection. Вместо этого вызовите CInternetSession::GetHttp Подключение ion, который создает CHttpConnection объект и возвращает указатель на него.

Дополнительные сведения о CHttpConnection работе с другими классами Интернета MFC см. в статье "Интернет-программирование с помощью WinInet". Дополнительные сведения о подключении к серверам с помощью двух других поддерживаемых интернет-протоколов, gopher и FTP см. в классах CGopher Подключение ion и CFtp Подключение ion.

Иерархия наследования

CObject

CInternet Подключение ion

CHttpConnection

Требования

Заголовок: afxinet.h

CHttp Подключение ion::CHttp Подключение ion

Эта функция-член вызывается для создания CHttpConnection объекта.

CHttpConnection(
    CInternetSession* pSession,
    HINTERNET hConnected,
    LPCTSTR pstrServer,
    DWORD_PTR dwContext);

CHttpConnection(
    CInternetSession* pSession,
    LPCTSTR pstrServer,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    DWORD_PTR dwContext = 1);

CHttpConnection(
    CInternetSession* pSession,
    LPCTSTR pstrServer,
    DWORD dwFlags,
    INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
    LPCTSTR pstrUserName = NULL,
    LPCTSTR pstrPassword = NULL,
    DWORD_PTR dwContext = 1);

Параметры

pSession
Указатель на объект CInternetSession .

h Подключение ed
Дескриптор подключения к Интернету.

pstrServer
Указатель на строку, содержащую имя сервера.

Dwcontext
Идентификатор контекста CInternetConnection для объекта. Дополнительные сведения о dwContext см. в разделе "Примечания ".

nPort
Номер, определяющий порт Интернета для этого подключения.

pstrUserName
Указатель на строку, завершающуюся значением NULL, которая указывает имя пользователя для входа. Если значение NULL, значение по умолчанию является анонимным.

pstrPassword
Указатель на строку, завершающуюся значением NULL, которая указывает пароль, используемый для входа. Если для pstrPassword и pstrUserName задано значение NULL, анонимный пароль по умолчанию — это имя электронной почты пользователя. Если pstrPassword имеет значение NULL или пустая строка, но pstrUserName не имеет значения NULL, используется пустой пароль. В следующей таблице описывается поведение четырех возможных параметров pstrUserName и pstrPassword:

pstrUserName pstrPassword Имя пользователя, отправленное на FTP-сервер Пароль, отправленный на FTP-сервер
NULL или " NULL или " "анонимный" Имя электронной почты пользователя
Строка, не допускающая значение NULL NULL или " pstrUserName " "
NULL Строка, не допускающая значение NULL ОШИБКА ОШИБКА
Строка, не допускающая значение NULL Строка, не допускающая значение NULL pstrUserName pstrPassword

dwFlags
Любое сочетание INTERNET_FLAG_* флагов. Сведения о значениях dwFlags см. в таблице в разделе "Примечания"Подключение ion::OpenRequest.

Замечания

Вы никогда не создаете напрямую CHttpConnection . Вместо этого необходимо создать объект, вызвав CInternetSession::GetHttp Подключение ion.

CHttp Подключение ion::OpenRequest

Вызовите эту функцию-член, чтобы открыть HTTP-подключение.

CHttpFile* OpenRequest(
    LPCTSTR pstrVerb,
    LPCTSTR pstrObjectName,
    LPCTSTR pstrReferer = NULL,
    DWORD_PTR dwContext = 1,
    LPCTSTR* ppstrAcceptTypes = NULL,
    LPCTSTR pstrVersion = NULL,
    DWORD dwFlags = INTERNET_FLAG_EXISTING_CONNECT);

CHttpFile* OpenRequest(
    int nVerb,
    LPCTSTR pstrObjectName,
    LPCTSTR pstrReferer = NULL,
    DWORD_PTR dwContext = 1,
    LPCTSTR* ppstrAcceptTypes = NULL,
    LPCTSTR pstrVersion = NULL,
    DWORD dwFlags = INTERNET_FLAG_EXISTING_CONNECT);

Параметры

pstrVerb
Указатель на строку, содержащую команду, используемую в запросе. Если значение NULL, используется метод GET.

pstrObjectName
Указатель на строку, содержащую целевой объект указанной команды. Эта строка обычно представляет собой имя файла, исполняемый модуль или описатель поиска.

pstrRefererer
Указатель на строку, указывающую адрес (URL-адрес) документа, из которого был получен URL-адрес запроса (pstrObjectName). Если значение NULL, заголовок HTTP не указан.

Dwcontext
Идентификатор контекста OpenRequest для операции. Дополнительные сведения о dwContext см. в разделе "Примечания".

ppstrAcceptTypes
Указатель на массив указателей LPCTSTR на строки, указывающие на типы контента, принятые клиентом. Если ppstrAcceptTypes имеет значение NULL, серверы интерпретируют, что клиент принимает только документы типа "text/*" (то есть только текстовые документы и не рисунки или другие двоичные файлы). Тип контента эквивалентен переменной CGI CONTENT_TYPE, которая определяет тип данных для запросов, которые имеют присоединенные сведения, например HTTP POST и PUT.

pstrVersion
Указатель на строку, определяющую версию HTTP. Если значение NULL, используется http/1.0.

dwFlags
Любое сочетание флагов INTERNET_ FLAG_*. Описание возможных значений dwFlags см. в разделе "Примечания".

nVerb
Число, связанное с типом HTTP-запроса. Может применяться один из перечисленных ниже типов.

Тип HTTP-запроса значение nVerb
HTTP_VERB_POST 0
HTTP_VERB_GET 1
HTTP_VERB_HEAD 2
HTTP_VERB_PUT 3
HTTP_VERB_LINK 4
HTTP_VERB_DELETE 5
HTTP_VERB_UNLINK 6

Возвращаемое значение

Указатель на запрошенный объект CHttpFile .

Замечания

DwFlags может быть одним из следующих вариантов :

Флаг Интернета Description
INTERNET_FLAG_RELOAD Принудительно загружает запрошенный файл, объект или список каталогов с исходного сервера, а не из кэша.
INTERNET_FLAG_DONT_CACHE Не добавляет возвращаемую сущность в кэш.
INTERNET_FLAG_MAKE_PERSISTENT Добавляет возвращаемую сущность в кэш в качестве постоянной сущности. Это означает, что очистка стандартного кэша, согласованность проверка или сборка мусора не может удалить этот элемент из кэша.
INTERNET_FLAG_SECURE Использует семантику безопасных транзакций. Он преобразуется в использование SSL/PCT и имеет смысл только в HTTP-запросах
INTERNET_FLAG_NO_AUTO_REDIRECT Используется только с протоколом HTTP, указывает, что перенаправления не должны обрабатываться автоматически в CHttpFile::SendRequest.

Переопределите dwContext значение по умолчанию, чтобы задать идентификатор контекста для выбранного значения. Идентификатор контекста связан с этой конкретной операцией объекта, созданного CHttpConnection объектом CInternetSession . Значение возвращается в CInternetSession::OnStatusCallback , чтобы предоставить состояние операции, с которой она определена. Дополнительные сведения об идентификаторе контекста см. в статье Internet First Steps: WinInet .

Исключения могут возникать с этой функцией.

См. также

Класс CInternetConnection
Диаграмма иерархии
Класс CInternetConnection
Класс CHttpFile