Класс 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.
Иерархия наследования
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
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по