Класс CInternetSession
Создает и инициализирует один или несколько параллельных сеансов Интернета и, при необходимости, описывает подключение к прокси-серверу.
Синтаксис
class CInternetSession : public CObject
Участники
Открытые конструкторы
Имя | Описание |
---|---|
CInternetSession::CInternetSession |
Формирует объект CInternetSession . |
Открытые методы
Имя | Описание |
---|---|
CInternetSession::Close |
Закрывает подключение к Интернету при завершении сеанса Интернета. |
CInternetSession::EnableStatusCallback |
Устанавливает подпрограмму обратного вызова состояния. |
CInternetSession::GetContext |
Закрывает подключение к Интернету при завершении сеанса Интернета. |
CInternetSession::GetCookie |
Возвращает файлы cookie для указанного URL-адреса и всех его родительских URL-адресов. |
CInternetSession::GetCookieLength |
Извлекает переменную, указывающую длину файла cookie, хранящегося в буфере. |
CInternetSession::GetFtpConnection |
Открывает сеанс FTP с сервером. Записывается в систему пользователя. |
CInternetSession::GetGopherConnection |
Открывает сервер gopher для приложения, пытающегося открыть подключение. |
CInternetSession::GetHttpConnection |
Открывает HTTP-сервер для приложения, пытающегося открыть подключение. |
CInternetSession::OnStatusCallback |
Обновляет состояние операции при включении обратного вызова состояния. |
CInternetSession::OpenURL |
Анализирует и открывает URL-адрес. |
CInternetSession::SetCookie |
Задает файл cookie для указанного URL-адреса. |
CInternetSession::SetOption |
Задает параметры сеанса Интернета. |
Открытые операторы
Имя | Описание |
---|---|
CInternetSession::operator HINTERNET |
Дескриптор текущего сеанса Интернета. |
Замечания
Если подключение к Интернету должно поддерживаться в течение длительности приложения, можно создать CInternetSession
член класса CWinApp
.
После создания сеанса Интернета можно вызвать OpenURL
. CInternetSession
затем анализирует URL-адрес, вызывая глобальную функцию AfxParseURL
. Независимо от типа протокола, CInternetSession
интерпретирует URL-адрес и управляет им для вас. Он может обрабатывать запросы для локальных файлов, определенных с помощью ресурса URL-адреса "file://". OpenURL
возвращает указатель на CStdioFile
объект, если имя, передаваемое вами, является локальным файлом.
Если вы открываете URL-адрес на интернет-сервере с помощью OpenURL
, вы можете прочитать информацию с сайта. Если вы хотите выполнить действия, относящиеся к службе (например, HTTP, FTP или gopher) для файлов, расположенных на сервере, необходимо установить соответствующее соединение с этим сервером. Чтобы открыть определенное подключение непосредственно к определенной службе, используйте одну из следующих функций-членов:
GetGopherConnection
чтобы открыть подключение к службе gopher.GetHttpConnection
чтобы открыть подключение к службе HTTP.GetFtpConnection
чтобы открыть подключение к службе FTP.
SetOption
позволяет задать параметры запроса сеанса, такие как значения времени ожидания, количество повторных попыток и т. д.
CInternetSession
функции-члены SetCookie
и GetCookieLength
GetCookie
предоставляют средства для управления базой данных cookie Win32, с помощью которой серверы и скрипты поддерживают сведения о состоянии клиентской рабочей станции.
Дополнительные сведения об основных задачах программирования в Интернете см. в статье "Первые шаги в Интернете: WinInet
Общие сведения об использовании классов MFC WinInet
см. в статье "Интернет-программирование".WinInet
Примечание.
CInternetSession
вызовет AfxThrowNotSupportedException
исключение для неподдерживаемых типов служб. В настоящее время поддерживаются только следующие типы служб: FTP, HTTP, gopher и file.
Иерархия наследования
CObject
CInternetSession
Требования
Заголовок: afxinet.h
CInternetSession::CInternetSession
Эта функция-член вызывается при CInternetSession
создании объекта.
CInternetSession(
LPCTSTR pstrAgent = NULL,
DWORD_PTR dwContext = 1,
DWORD dwAccessType = PRE_CONFIG_INTERNET_ACCESS,
LPCTSTR pstrProxyName = NULL,
LPCTSTR pstrProxyBypass = NULL,
DWORD dwFlags = 0);
Параметры
pstrAgent
Указатель на строку, которая определяет имя приложения или сущности, вызывающей функции Интернета (например, Microsoft Internet Browser). Если pstrAgent
значение равно NULL
(по умолчанию), платформа вызывает глобальную функцию AfxGetAppName
, которая возвращает строку, завершающую значение NULL, содержащую имя приложения. Некоторые протоколы используют эту строку для идентификации приложения на сервере.
dwContext
Идентификатор контекста для операции. dwContext
определяет сведения о состоянии операции, возвращаемые CInternetSession::OnStatusCallback
. Значение по умолчанию равно 1; однако можно явно назначить определенный идентификатор контекста для операции. Объект и любая работа, которую она выполняет, будет связана с этим идентификатором контекста.
dwAccessType
Тип необходимого доступа. Ниже приведены допустимые значения, одно из которых может быть предоставлено:
INTERNET_OPEN_TYPE_PRECONFIG
Подключитесь с помощью предварительно настроенных параметров в реестре. Этот тип доступа задается в качестве значения по умолчанию. Чтобы подключиться через прокси-сервер TIS, задайтеdwAccessType
значение этого значения. Затем необходимо задать реестр соответствующим образом.INTERNET_OPEN_TYPE_DIRECT
Подключитесь непосредственно к Интернету.INTERNET_OPEN_TYPE_PROXY
Подключитесь через прокси-сервер CERN.
Сведения о подключении с различными типами прокси-серверов см. в разделе "Действия" в типичном клиентском приложении FTP.
pstrProxyName
Имя предпочтительного прокси-сервера CERN, если dwAccessType
задано как INTERNET_OPEN_TYPE_PROXY
. Значение по умолчанию — NULL
.
pstrProxyBypass
Указатель на строку, содержащую необязательный список адресов сервера. Эти адреса могут быть обходить при использовании прокси-доступа. Если задано NULL
значение, список обходов будет считываться из реестра. Этот параметр имеет смысл только в том случае, если dwAccessType
задано значение INTERNET_OPEN_TYPE_PROXY
.
dwFlags
Указывает различные параметры кэширования. Значение по умолчанию — 0. Возможные значения:
INTERNET_FLAG_DONT_CACHE
Не кэшируйте данные локально или на серверах шлюза.INTERNET_FLAG_OFFLINE
Операции загрузки удовлетворены только с помощью постоянного кэша. Если элемент не существует в кэше, возвращается соответствующий код ошибки. Этот флаг может сочетаться с побитовой "или" (|
) оператором.
Замечания
CInternetSession
является первой функцией Интернета, вызываемой приложением. Он инициализирует внутренние структуры данных и готовится к будущим вызовам из приложения.
Если подключение к Интернету не может быть открыто, CInternetSession
вызывает исключение AfxThrowInternetException
.
Пример
Пример см. в примере CFtpFileFind
.
CInternetSession::Close
Вызовите эту функцию-член, когда приложение завершит работу с CInternetSession
объектом.
virtual void Close();
Пример
Пример см. в примере CFtpFileFind
.
CInternetSession::EnableStatusCallback
Вызовите эту функцию-член, чтобы включить обратный вызов состояния.
BOOL EnableStatusCallback(BOOL bEnable = TRUE);
Параметры
bEnable
Указывает, включен или отключен обратный вызов. Значение по умолчанию — TRUE
.
Возвращаемое значение
Имеет ненулевое значение в случае успешного выполнения, иначе — 0. Если вызов завершается сбоем, определите причину сбоя, проверив создаваемый CInternetException
объект.
Замечания
При обработке обратного вызова состояния можно указать состояние о ходе операции (например, разрешение имени, подключение к серверу и т. д.) в строке состояния приложения. Отображение состояния операции особенно желательно во время долгосрочной операции.
Так как обратные вызовы происходят во время обработки запроса, приложение должно тратить как можно меньше времени на обратный вызов, чтобы предотвратить снижение пропускной способности данных в сети. Например, создание диалогового окна в обратном вызове может быть такой длительной операцией, что сервер завершает запрос.
Обратный вызов состояния не может быть удален до тех пор, пока ожидаются все обратные вызовы.
Для асинхронной обработки любых операций необходимо создать собственный поток или использовать функции WinInet без MFC.
CInternetSession::GetContext
Вызовите эту функцию-член, чтобы получить значение контекста для определенного сеанса приложения.
DWORD_PTR GetContext() const;
Возвращаемое значение
Идентификатор контекста, определенный приложением.
Замечания
OnStatusCallback
использует идентификатор контекста, возвращаемый GetContext
для отчета о состоянии конкретного приложения. Например, когда пользователь активирует интернет-запрос, который включает возврат сведений о состоянии, обратный вызов состояния использует идентификатор контекста для отчета о состоянии этого конкретного запроса. Если пользователь активирует два отдельных интернет-запроса, которые включают возврат сведений о состоянии, OnStatusCallback
использует идентификаторы контекста для возврата состояния о соответствующих запросах. Следовательно, идентификатор контекста используется для всех операций обратного вызова состояния, и он связан с сеансом до завершения сеанса.
Дополнительные сведения об асинхронных операциях см. в статье "Первые шаги в Интернете: WinInet".
CInternetSession::GetCookie
Эта функция-член реализует поведение функции InternetGetCookie
Win32, как описано в пакете SDK для Windows.
static BOOL GetCookie(
LPCTSTR pstrUrl,
LPCTSTR pstrCookieName,
LPTSTR pstrCookieData,
DWORD dwBufLen);
static BOOL GetCookie(
LPCTSTR pstrUrl,
LPCTSTR pstrCookieName,
CString& strCookieData);
Параметры
pstrUrl
Указатель на строку, содержащую URL-адрес.
pstrCookieName
Указатель на строку, содержащую имя файла cookie, который нужно получить для указанного URL-адреса.
pstrCookieData
В первой перегрузке указатель на строку, содержащую адрес буфера, получающего данные cookie. Это значение может быть равно NULL
. Во второй перегрузке ссылка на CString
объект для получения данных cookie.
dwBufLen
Переменная, указывающая размер буфера pstrCookieData
. Если функция выполнена успешно, буфер получает объем данных, скопированных в pstrCookieData
буфер. Если pstrCookieData
это NULL
так, этот параметр получает значение, указывающее размер буфера, необходимого для копирования всех данных cookie.
Возвращаемое значение
Возвращается TRUE
в случае успешного выполнения или в FALSE
противном случае. Если вызов завершается ошибкой, вызовите функцию GetLastError
Win32, чтобы определить причину ошибки. Применяются следующие значения ошибок:
ERROR_NO_MORE_ITEMS
Файл cookie для указанного URL-адреса и всех его родителей отсутствует.ERROR_INSUFFICIENT_BUFFER
Переданное значениеdwBufLen
недостаточно для копирования всех данных cookie. ВозвращаемоеdwBufLen
значение — это размер буфера, необходимого для получения всех данных.
Замечания
Во второй перегрузке MFC извлекает данные cookie в предоставленный CString
объект.
CInternetSession::GetCookieLength
Вызовите эту функцию-член, чтобы получить длину файла cookie, хранящегося в буфере.
static DWORD GetCookieLength(
LPCTSTR pstrUrl,
LPCTSTR pstrCookieName);
Параметры
pstrUrl
Указатель на строку, содержащую URL-адрес.
pstrCookieName
Указатель на строку, содержащую имя файла cookie.
Возвращаемое значение
DWORD
Значение, указывающее длину файла cookie, хранящегося в буфере. Ноль, если файл cookie с именем, указанным в pstrCookieName
ней, существует.
Замечания
Это значение используется GetCookie
.
CInternetSession::GetFtpConnection
Вызовите эту функцию-член, чтобы установить FTP-подключение и получить указатель на CFtpConnection
объект.
CFtpConnection* GetFtpConnection(
LPCTSTR pstrServer,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
BOOL bPassive = FALSE);
Параметры
pstrServer
Указатель на строку, содержащую имя FTP-сервера.
pstrUserName
Указатель на строку, завершающуюся значением NULL, которая указывает имя пользователя для входа. Если NULL
значение по умолчанию является анонимным.
pstrPassword
Указатель на строку, завершающуюся значением NULL, которая указывает пароль, используемый для входа. Если оба pstrPassword
и pstrUserName
есть NULL
, анонимный пароль по умолчанию — это имя электронной почты пользователя. Если pstrPassword
имеет значение NULL
(или пустая строка), но pstrUserName
не NULL
является, используется пустой пароль. В следующей таблице описывается поведение четырех возможных параметров pstrUserName
и pstrPassword
:
pstrUserName |
pstrPassword |
Имя пользователя, отправленное на FTP-сервер | Пароль, отправленный на FTP-сервер |
---|---|---|---|
NULL или " " |
NULL или " " |
"anonymous" |
Имя электронной почты пользователя |
NULL Не строка |
NULL или " " |
pstrUserName |
" " |
NULL |
NULL Не строка |
ОШИБКА | ОШИБКА |
NULL Не строка |
NULL Не строка |
pstrUserName |
pstrPassword |
nPort
Число, определяющее порт TCP/IP для использования на сервере.
bPassive
Указывает пассивный или активный режим для этого сеанса FTP. Если задано значение TRUE
, он задает для API dwFlag
Win32 значение INTERNET_FLAG_PASSIVE
.
Возвращаемое значение
Указатель на объект CFtpConnection
. Если вызов завершается сбоем, определите причину сбоя, проверив создаваемый CInternetException
объект.
Замечания
GetFtpConnection
подключается к FTP-серверу и создает и возвращает указатель на CFTPConnection
объект. Он не выполняет определенную операцию на сервере. Если вы планируете читать или записывать в файлы, например, эти операции необходимо выполнить как отдельные действия. Ознакомьтесь с классами CFtpConnection
и CFtpFileFind
сведениями о поиске файлов, открытии файлов и чтении или записи в файлы. См. статью "Интернет-программирование" с помощью WinInet , чтобы выполнить общие задачи подключения FTP.
Пример
Пример см. в примере CFtpFileFind
.
CInternetSession::GetGopherConnection
Вызовите эту функцию-член, чтобы установить новое соединение с gopher и получить указатель на CGopherConnection
объект.
CGopherConnection* GetGopherConnection(
LPCTSTR pstrServer,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER);
Параметры
pstrServer
Указатель на строку, содержащую имя сервера gopher.
pstrUserName
Указатель на строку, содержащую имя пользователя.
pstrPassword
Указатель на строку, содержащую пароль доступа.
nPort
Число, определяющее порт TCP/IP для использования на сервере.
Возвращаемое значение
Указатель на объект CGopherConnection
. Если вызов завершается сбоем, определите причину сбоя, проверив создаваемый CInternetException
объект.
Замечания
GetGopherConnection
подключается к серверу gopher и создает и возвращает указатель на CGopherConnection
объект. Он не выполняет определенную операцию на сервере. Если вы планируете считывать или записывать данные, например, эти операции необходимо выполнить как отдельные действия. Ознакомьтесь с классами CGopherConnection
CGopherFile
CGopherFileFind
и сведениями о поиске файлов, открытии файлов и чтении или записи в файлы. Сведения о просмотре FTP-сайта см. в функции-члене OpenURL
. См. статью "Интернет-программирование с помощью WinInet ", чтобы выполнить общие задачи подключения к шифрам.
CInternetSession::GetHttpConnection
Вызовите эту функцию-член, чтобы установить HTTP-соединение и получить указатель на CHttpConnection
объект.
CHttpConnection* GetHttpConnection(
LPCTSTR pstrServer,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL);
CHttpConnection* GetHttpConnection(
LPCTSTR pstrServer,
DWORD dwFlags,
INTERNET_PORT nPort = INTERNET_INVALID_PORT_NUMBER,
LPCTSTR pstrUserName = NULL,
LPCTSTR pstrPassword = NULL);
Параметры
pstrServer
Указатель на строку, содержащую имя HTTP-сервера.
nPort
Число, определяющее порт TCP/IP для использования на сервере.
pstrUserName
Указатель на строку, содержащую имя пользователя.
pstrPassword
Указатель на строку, содержащую пароль доступа.
dwflags
Любое сочетание INTERNET_FLAG_*
флагов. См. таблицу в разделе CHttpConnection::OpenRequest
"Примечания" описания значенийdwFlags
.
Возвращаемое значение
Указатель на объект CHttpConnection
. Если вызов завершается сбоем, определите причину сбоя, проверив создаваемый CInternetException
объект.
Замечания
GetHttpConnection
подключается к HTTP-серверу и создает и возвращает указатель на CHttpConnection
объект. Он не выполняет определенную операцию на сервере. Если вы собираетесь запросить заголовок HTTP, например, необходимо выполнить эту операцию как отдельный шаг. Ознакомьтесь с классами CHttpConnection
и CHttpFile
сведениями о операциях, которые можно выполнить с помощью подключения к HTTP-серверу. Сведения о просмотре HTTP-сайта см. в функции-члене OpenURL
. См. статью "Интернет-программирование с помощью WinInet " для выполнения распространенных задач http-подключения.
CInternetSession::OnStatusCallback
Эта функция-член вызывается платформой для обновления состояния при включении обратного вызова состояния и ожидающей операции.
virtual void OnStatusCallback(
DWORD_PTR dwContext,
DWORD dwInternetStatus,
LPVOID lpvStatusInformation,
DWORD dwStatusInformationLength);
Параметры
dwContext
Значение контекста, предоставленное приложением.
dwInternetStatus
Код состояния, указывающий, почему выполняется обратный вызов. См . примечания для таблицы возможных значений.
lpvStatusInformation
Указатель на буфер, содержащий сведения, относящиеся к этому обратному вызову.
dwStatusInformationLength
Размер lpvStatusInformation
.
Замечания
Чтобы воспользоваться преимуществами обратного вызова состояния, необходимо сначала вызвать EnableStatusCallback
.
Параметр dwInternetStatus
указывает, что выполняется операция и определяет, какое содержимое lpvStatusInformation
будет. dwStatusInformationLength
указывает длину данных, включенных в lpvStatusInformation
. Следующие значения dwInternetStatus
состояния определяются следующим образом:
Значение | Значение |
---|---|
INTERNET_STATUS_RESOLVING_NAME |
Поиск IP-адреса имени, содержащегося в lpvStatusInformation . |
INTERNET_STATUS_NAME_RESOLVED |
Успешно найден IP-адрес имени, содержащегося в lpvStatusInformation . |
INTERNET_STATUS_CONNECTING_TO_SERVER |
Подключение к адресу сокета (SOCKADDR ), на который указывает lpvStatusInformation . |
INTERNET_STATUS_CONNECTED_TO_SERVER |
Успешно подключен к адресу сокета (SOCKADDR ), на который указывает lpvStatusInformation . |
INTERNET_STATUS_SENDING_REQUEST |
Отправка запроса информации на сервер. Параметр lpvStatusInformation имеет значение NULL . |
INTERNET_STATUS_REQUEST_SENT |
Успешно отправлен запрос информации на сервер. Параметр lpvStatusInformation имеет значение NULL . |
INTERNET_STATUS_RECEIVING_RESPONSE |
Ожидание ответа сервера на запрос. Параметр lpvStatusInformation имеет значение NULL . |
INTERNET_STATUS_RESPONSE_RECEIVED |
Успешно получен ответ от сервера. Параметр lpvStatusInformation имеет значение NULL . |
INTERNET_STATUS_CLOSING_CONNECTION |
Закрытие подключения к серверу. Параметр lpvStatusInformation имеет значение NULL . |
INTERNET_STATUS_CONNECTION_CLOSED |
Успешно закрыло подключение к серверу. Параметр lpvStatusInformation имеет значение NULL . |
INTERNET_STATUS_HANDLE_CREATED |
Используется функцией InternetConnect API Win32, чтобы указать, что она создала новый дескриптор. Это позволяет приложению вызывать функцию InternetCloseHandle Win32 из другого потока, если подключение занимает слишком много времени. Дополнительные сведения об этих функциях см. в windows SDKfor. |
INTERNET_STATUS_HANDLE_CLOSING |
Успешно завершено это значение дескриптора. |
Переопределите эту функцию-член, чтобы потребовать некоторого действия перед выполнением процедуры обратного вызова состояния.
Примечание.
Обратные вызовы состояния нуждаются в защите состояния потока. Если вы используете MFC в общей библиотеке, добавьте следующую строку в начало переопределения:
AFX_MANAGE_STATE(AfxGetAppModuleState());
Дополнительные сведения об асинхронных операциях см. в статье "Первые шаги в Интернете: WinInet".
CInternetSession::OpenURL
Вызовите эту функцию-член, чтобы отправить указанный запрос на HTTP-сервер и разрешить клиенту указывать дополнительные заголовки RFC822, MIME или HTTP для отправки вместе с запросом.
CStdioFile* OpenURL(
LPCTSTR pstrURL,
DWORD_PTR dwContext = 1,
DWORD dwFlags = INTERNET_FLAG_TRANSFER_ASCII,
LPCTSTR pstrHeaders = NULL,
DWORD dwHeadersLength = 0);
Параметры
pstrURL
Указатель на имя URL-адреса для начала чтения. Только URL-адреса, начинающиеся с file:
, ftp:
gopher:
или http:
поддерживаются. Утверждает, имеет pstrURL
ли значение NULL
.
dwContext
Определяемое приложением значение, передаваемое с возвращенным дескриптором в обратном вызове.
dwFlags
Флаги, описывающие способ обработки этого подключения. Дополнительные сведения о допустимых флагах см. в примечаниях. Допустимые флаги:
INTERNET_FLAG_TRANSFER_ASCII
Значение по умолчанию. Перенесите файл в виде текста ASCII.INTERNET_FLAG_TRANSFER_BINARY
Перенесите файл в двоичный файл.INTERNET_FLAG_RELOAD
Получите данные из провода, даже если они кэшируются локально.INTERNET_FLAG_DONT_CACHE
Не кэшируйте данные локально или в шлюзах.INTERNET_FLAG_SECURE
Этот флаг применим только к HTTP-запросам. Он запрашивает безопасные транзакции на проводе с помощью уровня безопасных сокетов или РСТ.INTERNET_OPEN_FLAG_USE_EXISTING_CONNECT
По возможности повторно используйте существующие подключения к серверу для новых запросов, созданныхOpenUrl
вместо создания нового сеанса для каждого запроса подключения.INTERNET_FLAG_PASSIVE
Используется для FTP-сайта. Использует пассивные семантики FTP. Используется сCInternetConnection
OpenURL
.
pstrHeaders
Указатель на строку, содержащую заголовки, отправляемые на HTTP-сервер.
dwHeadersLength
Длина в символах дополнительных заголовков. Если это и pstrHeaders
не так-1L
NULL
, предполагается, pstrHeaders
что длина завершается нулевой, а длина вычисляется.
Возвращаемое значение
Возвращает дескриптор файлов только для служб FTP, GOPHER, HTTP и FILE-типов. Возвращается NULL
, если синтаксический анализ был неудачным.
Указатель, OpenURL
который возвращается, зависит от pstrURL
типа службы. В приведенной ниже таблице показаны возможные указатели OpenURL
, которые могут возвращать.
Тип URL-адреса | Возвраты |
---|---|
file:// |
CStdioFile* |
http:// |
CHttpFile* |
gopher:// |
CGopherFile* |
ftp:// |
CInternetFile* |
Замечания
Параметр dwFlags
должен включать INTERNET_FLAG_TRANSFER_ASCII
либо или INTERNET_FLAG_TRANSFER_BINARY
, но не оба. Остальные флаги можно объединить с побитовой "или" (|
) оператором.
OpenURL
, который упаковывает функцию InternetOpenURL
Win32, позволяет загружать, извлекать и считывать данные с интернет-сервера. OpenURL
не позволяет манипулировать файлами в удаленном расположении, поэтому он не CInternetConnection
требует объекта.
Чтобы использовать функции, связанные с подключением (то есть для конкретного протокола), например запись в файл, необходимо открыть сеанс, а затем открыть определенное соединение, а затем использовать это подключение для открытия файла в нужном режиме. Дополнительные CInternetConnection
сведения о функциях, относящихся к подключению.
CInternetSession::operator HINTERNET
Используйте этот оператор, чтобы получить дескриптор Windows для текущего сеанса Интернета.
operator HINTERNET() const;
CInternetSession::SetCookie
Задает файл cookie для указанного URL-адреса.
static BOOL SetCookie(
LPCTSTR pstrUrl,
LPCTSTR pstrCookieName,
LPCTSTR pstrCookieData);
Параметры
pstrUrl
Указатель на строку, завершающуюся значением NULL, которая указывает URL-адрес, для которого должен быть задан файл cookie.
pstrCookieName
Указатель на строку, содержащую имя файла cookie.
pstrCookieData
Указатель на строку, содержащую фактические строковые данные для связывания с URL-адресом.
Возвращаемое значение
Возвращается TRUE
в случае успешного выполнения или в FALSE
противном случае. Чтобы получить определенный код ошибки, вызовите GetLastError
.
Замечания
Эта функция-член реализует поведение сообщения InternetSetCookie
Win32, как описано в пакете SDK для Windows.
CInternetSession::SetOption
Вызовите эту функцию-член, чтобы задать параметры сеанса Интернета.
BOOL SetOption(
DWORD dwOption,
LPVOID lpBuffer,
DWORD dwBufferLength,
DWORD dwFlags = 0);
BOOL SetOption(
DWORD dwOption,
DWORD dwValue,
DWORD dwFlags = 0);
Параметры
dwOption
Параметр Интернета, который нужно задать. Список возможных параметров см. в пакете SDK для Windows.
lpBuffer
Буфер, содержащий параметр параметра.
dwBufferLength
Длина или размер lpBuffer
dwValue
.
dwValue
Значение DWORD
, содержащее параметр.
dwFlags
Указывает различные параметры кэширования. Значение по умолчанию — 0. Возможные значения:
INTERNET_FLAG_DONT_CACHE
Не кэшируйте данные локально или на серверах шлюза.INTERNET_FLAG_OFFLINE
Операции загрузки удовлетворены только с помощью постоянного кэша. Если элемент не существует в кэше, возвращается соответствующий код ошибки. Этот флаг может сочетаться с побитовой "или" (|
) оператором.
Возвращаемое значение
Если операция выполнена успешно, возвращается значение TRUE
. Если произошла ошибка, возвращается значение FALSE
. При сбое вызова можно вызвать функцию GetLastError
Win32, чтобы определить причину ошибки.
См. также
CObject
Класс
Диаграмма иерархии
CInternetConnection
Класс
CHttpConnection
Класс
CFtpConnection
Класс
CGopherConnection
Класс