Флаги API

Многие функции WinINet принимают массив флагов в качестве параметра. Ниже приведено краткое описание определенных флагов.

INTERNET_COOKIE_EVALUATE_P3P

0x80

Указывает, что заголовок Platform for Privacy Protection (P3P) должен быть связан с файлом cookie.

INTERNET_COOKIE_THIRD_PARTY

0x10

Указывает, что устанавливается или извлекается сторонний файл cookie.

INTERNET_FLAG_ASYNC

0x10000000

Выполняет только асинхронные запросы к дескрипторам, производным от дескриптора, возвращенного этой функцией. Только функция InternetOpen использует этот флаг.

INTERNET_FLAG_CACHE_ASYNC

0x00000080

Позволяет выполнять отложенную запись в кэше.

INTERNET_FLAG_CACHE_IF_NET_FAIL

0x00010000

Возвращает ресурс из кэша в случае сбоя сетевого запроса ресурса из-за ошибки ERROR_INTERNET_CONNECTION_RESET или ERROR_INTERNET_CANNOT_CONNECT . Этот флаг используется в HttpOpenRequest.

INTERNET_FLAG_DONT_CACHE

0x04000000

Не добавляет возвращенную сущность в кэш. Это идентично предпочтительному значению , INTERNET_FLAG_NO_CACHE_WRITE.

INTERNET_FLAG_EXISTING_CONNECT

0x20000000

Пытается использовать существующий объект InternetConnect , если он существует с теми же атрибутами, необходимыми для выполнения запроса. Это полезно только для операций FTP, так как FTP является единственным протоколом, который обычно выполняет несколько операций в течение одного сеанса. WinINet кэширует один дескриптор подключения для каждого дескриптора HINTERNET, созданного InternetOpen. Функции InternetOpenUrl и InternetConnect используют этот флаг для подключений Http и Ftp.

INTERNET_FLAG_FORMS_SUBMIT

0x00000040

Указывает, что это отправка форм.

INTERNET_FLAG_FROM_CACHE

0x01000000

Не выполняет сетевые запросы. Все сущности возвращаются из кэша. Если запрошенного элемента нет в кэше, возвращается подходящая ошибка, например ERROR_FILE_NOT_FOUND. Только функция InternetOpen использует этот флаг.

INTERNET_FLAG_FWD_BACK

0x00000020

Указывает, что функция должна использовать копию ресурса, который в настоящее время находится в кэше Интернета. Дата окончания срока действия и другие сведения о ресурсе не проверяются. Если запрошенный элемент не найден в кэше Интернета, система попытается найти ресурс в сети. Это значение появилось в Microsoft Internet Обозреватель 5 и связано с операциями "Вперед" и "Назад" Обозреватель Интернета.

INTERNET_FLAG_HYPERLINK

0x00000400

При определении того, следует ли перезагружать элемент из сети, принудительно выполняется перезагрузка, если срок действия истекает и время lastModified не возвращается с сервера. Этот флаг может использоваться ftpFindFirstFile, FtpGetFile, FtpOpenFile, FtpPutFile, HttpOpenRequest и InternetOpenUrl.

Windows XP и Windows Server 2003 R2 и более ранние версии: Также используется GopherFindFirstFile и GopherOpenFile.

INTERNET_FLAG_IGNORE_CERT_CN_INVALID

0x00001000

Отключает проверку сертификатов на основе SSL/PCT, возвращаемых с сервера, по имени узла, указанному в запросе. WinINet использует простой проверка сертификатов, сравнивая имена узлов и простые правила подстановочных знаков. Этот флаг можно использовать в HttpOpenRequest и InternetOpenUrl (для HTTP-запросов).

INTERNET_FLAG_IGNORE_CERT_DATE_INVALID

0x00002000

Отключает проверку сертификатов на основе SSL/PCT на наличие правильных дат действия. Этот флаг можно использовать в HttpOpenRequest и InternetOpenUrl (для HTTP-запросов).

INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP

0x00008000

Отключает обнаружение этого специального типа перенаправления. При использовании этого флага WinINet прозрачно разрешает перенаправление с HTTPS на URL-адреса HTTP. Этот флаг можно использовать в HttpOpenRequest и InternetOpenUrl (для HTTP-запросов).

INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS

0x00004000

Отключает обнаружение этого специального типа перенаправления. При использовании этого флага WinINet прозрачно разрешает перенаправление с HTTP на URL-адреса HTTPS. Этот флаг можно использовать в HttpOpenRequest и InternetOpenUrl (для HTTP-запросов).

INTERNET_FLAG_KEEP_CONNECTION

0x00400000

Использует для подключения семантику поддержания активности, если она доступна. Этот флаг используется HttpOpenRequest и InternetOpenUrl (для HTTP-запросов). Этот флаг является обязательным для microsoft network (MSN), NTLM и других типов проверки подлинности.

INTERNET_FLAG_MAKE_PERSISTENT

0x02000000

Больше не поддерживается.

INTERNET_FLAG_MUST_CACHE_REQUEST

0x00000010

Идентично предпочтительному значению , INTERNET_FLAG_NEED_FILE. Вызывает создание временного файла, если файл не может быть кэширован. Этот флаг может использоваться ftpFindFirstFile, FtpGetFile, FtpOpenFile, FtpPutFile, HttpOpenRequest и InternetOpenUrl.

Windows XP и Windows Server 2003 R2 и более ранние версии: Также используется GopherFindFirstFile и GopherOpenFile.

INTERNET_FLAG_NEED_FILE

0x00000010

Вызывает создание временного файла, если файл не может быть кэширован. Этот флаг может использоваться ftpFindFirstFile, FtpGetFile, FtpOpenFile, FtpPutFile, HttpOpenRequest и InternetOpenUrl.

Windows XP и Windows Server 2003 R2 и более ранние версии: Также используется GopherFindFirstFile и GopherOpenFile.

INTERNET_FLAG_NO_AUTH

0x00040000

Не пытается выполнить проверку подлинности автоматически. Этот флаг можно использовать в HttpOpenRequest и InternetOpenUrl (для HTTP-запросов).

INTERNET_FLAG_NO_AUTO_REDIRECT

0x00200000

Не обрабатывает перенаправление автоматически в HttpSendRequest. Этот флаг также может использоваться InternetOpenUrl для HTTP-запросов.

INTERNET_FLAG_NO_CACHE_WRITE

0x04000000

Не добавляет возвращенную сущность в кэш. Этот флаг используется в , HttpOpenRequest и InternetOpenUrl.

Windows XP и Windows Server 2003 R2 и более ранние версии: Также используется GopherFindFirstFile и GopherOpenFile.

INTERNET_FLAG_NO_COOKIES

0x00080000

Не добавляет автоматически заголовки файлов cookie в запросы и не добавляет возвращенные файлы cookie в базу данных cookie. Этот флаг можно использовать в HttpOpenRequest и InternetOpenUrl (для HTTP-запросов).

INTERNET_FLAG_NO_UI

0x00000200

Отключает диалоговое окно cookie. Этот флаг можно использовать в HttpOpenRequest и InternetOpenUrl (только HTTP-запросы).

INTERNET_FLAG_OFFLINE

0x01000000

Идентично INTERNET_FLAG_FROM_CACHE. Не выполняет сетевые запросы. Все сущности возвращаются из кэша. Если запрошенный элемент отсутствует в кэше, возвращается соответствующая ошибка, например ERROR_FILE_NOT_FOUND. Только функция InternetOpen использует этот флаг.

INTERNET_FLAG_PASSIVE

0x08000000

Использует пассивную семантику FTP. Только InternetConnect и InternetOpenUrl используют этот флаг. InternetConnect использует этот флаг для FTP-запросов, а InternetOpenUrl — для ftp-файлов и каталогов.

INTERNET_FLAG_PRAGMA_NOCACHE

0x00000100

Принудительно разрешает запрос сервером-источником, даже если на прокси-сервере существует кэшированная копия. Этот флаг используется для функции InternetOpenUrl (только для http- и HTTPS-запросов) и функции HttpOpenRequest .

INTERNET_FLAG_RAW_DATA

0x40000000

Возвращает данные в виде структуры WIN32_FIND_DATA при получении сведений о каталоге FTP. Если этот флаг не указан или вызов выполняется через прокси-сервер CERN, InternetOpenUrl возвращает HTML-версию каталога. Только функция InternetOpenUrl использует этот флаг.

Windows XP и Windows Server 2003 R2 и более ранние версии: Также возвращает структуру GOPHER_FIND_DATA при получении сведений о каталоге Gopher.

INTERNET_FLAG_READ_PREFETCH

0x00100000

Этот флаг в настоящее время отключен.

INTERNET_FLAG_RELOAD

0x80000000

Принудительное скачивание запрошенного файла, объекта или списка каталога с исходного сервера, а не из кэша. Этот флаг используется в функциях FtpFindFirstFile, FtpGetFile, FtpOpenFile, FtpPutFile, HttpOpenRequest и InternetOpenUrl .

Windows XP и Windows Server 2003 R2 и более ранние версии: Также используется GopherFindFirstFile и GopherOpenFile.

INTERNET_FLAG_RESTRICTED_ZONE

0x00020000

Указывает, что заданный файл cookie связан с ненадежным сайтом.

INTERNET_FLAG_RESYNCHRONIZE

0x00000800

Перезагружает http-ресурсы, если ресурс был изменен с момента последнего скачивания. Все ресурсы FTP перезагружаются. Этот флаг можно использовать в ftpFindFirstFile, FtpGetFile, FtpOpenFile, FtpPutFile, HttpOpenRequest и InternetOpenUrl.

Windows XP и Windows Server 2003 R2 и более ранние версии: Также используются gopherFindFirstFile и GopherOpenFile, а также ресурсы Gopher перезагружаются.

INTERNET_FLAG_SECURE

0x00800000

Использует безопасную семантику транзакций. Это означает использование технологии SSL/PCT и имеет смысл только в HTTP-запросах. Этот флаг используется в HttpOpenRequest и InternetOpenUrl, но он является избыточным, если https:// отображается в URL-адресе. Функция InternetConnect использует этот флаг для HTTP-подключений; все дескрипторы запросов, созданные под этим подключением, наследуют этот флаг.

INTERNET_FLAG_TRANSFER_ASCII

0x00000001

Передает файл как ASCII (только FTP). Этот флаг может использоваться ftpOpenFile, FtpGetFile и FtpPutFile.

INTERNET_FLAG_TRANSFER_BINARY

0x00000002

Передает файл как двоичный файл (только FTP). Этот флаг может использоваться ftpOpenFile, FtpGetFile и FtpPutFile.

INTERNET_NO_CALLBACK

0x00000000

Указывает, что для этого API не следует выполнять обратные вызовы. Используется для параметра dxContext функций, которые разрешают асинхронные операции.

INTERNET_OPTION_SUPPRESS_SERVER_AUTH

104

Задает объект HTTP-запроса таким образом, чтобы он не выполнял вход на серверы-источники, но выполнял автоматический вход на прокси-серверы HTTP. Этот параметр отличается от INTERNET_FLAG_NO_AUTH флага запроса, который предотвращает проверку подлинности как на прокси-серверах, так и на серверах-источниках. Установка этого режима не позволит использовать все материалы учетных данных (предоставленные ранее имя пользователя или пароль или SSL-сертификат клиента) при взаимодействии с сервером-источником. Однако если запрос должен быть транзитом через прокси-сервер проверки подлинности, WinINet по-прежнему будет выполнять автоматическую проверку подлинности на прокси-сервере HTTP в параметрах зоны интрасети для пользователя. Параметр Зоны интрасети по умолчанию разрешает автоматический вход с использованием учетных данных пользователя по умолчанию. Чтобы обеспечить подавление всех идентифицируемой информации, вызывающий объект должен объединить INTERNET_OPTION_SUPPRESS_SERVER_AUTH с флагом INTERNET_FLAG_NO_COOKIES запроса. Этот параметр можно задать только для объектов запроса до их отправки. Попытка задать этот параметр после отправки запроса вернет ERROR_INTERNET_INCORRECT_HANDLE_STATE. Для этого параметра буфер не требуется. Этот параметр используется InternetSetOption только для дескрипторов, возвращаемых HttpOpenRequest. Версия: требуется Internet Обозреватель 8.0 или более поздней версии.

WININET_API_FLAG_ASYNC

0x00000001

Принудительно выполняет асинхронные операции.

WININET_API_FLAG_SYNC

0x00000004

Выполняет синхронные операции.

WININET_API_FLAG_USE_CONTEXT

0x00000008

Заставляет API использовать значение контекста, даже если оно равно нулю.

Комментарии

Примечание

WinINet не поддерживает реализации сервера. Кроме того, его не следует использовать из службы. Для серверных реализаций или служб используйте службы Microsoft Windows HTTP (WinHTTP).

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional [только классические приложения]
Минимальная версия сервера
Windows 2000 Server [только классические приложения]
Заголовок
Wininet.h