Функция InternetOpenUrlA (wininet.h)
Открывает ресурс, указанный полным URL-адресом FTP или HTTP.
Синтаксис
HINTERNET InternetOpenUrlA(
[in] HINTERNET hInternet,
[in] LPCSTR lpszUrl,
[in] LPCSTR lpszHeaders,
[in] DWORD dwHeadersLength,
[in] DWORD dwFlags,
[in] DWORD_PTR dwContext
);
Параметры
[in] hInternet
Дескриптор текущего сеанса Интернета. Дескриптор должен быть возвращен предыдущим вызовом InternetOpen.
[in] lpszUrl
Указатель на строковую переменную, завершающуюся значением NULL, которая указывает URL-адрес для начала чтения. Поддерживаются только URL-адреса, начинающиеся с ftp:, http:, или https: .
[in] lpszHeaders
Указатель на строку, завершающуюся значением NULL, которая указывает заголовки для отправки на HTTP-сервер. Дополнительные сведения см. в описании параметра lpszHeaders в функции HttpSendRequest .
[in] dwHeadersLength
Размер дополнительных заголовков в TCHAR. Если этот параметр имеет значение -1L, а lpszHeaders не равен NULL, предполагается, что lpszHeaders имеет нулевое завершение (ASCIIZ) и вычисляется длина.
[in] dwFlags
Этот параметр может принимать одно из указанных ниже значений.
Значение | Значение |
---|---|
|
Пытается использовать существующий объект InternetConnect, если он существует с теми же атрибутами, необходимыми для выполнения запроса. Это полезно только для операций FTP, так как FTP является единственным протоколом, который обычно выполняет несколько операций в течение одного сеанса. API WinINet кэширует один дескриптор подключения для каждого дескриптора HINTERNET, созданного InternetOpen. InternetOpenUrl использует этот флаг для подключений HTTP и FTP. |
|
При определении того, следует ли перезагружать элемент из сети, принудительно выполняется перезагрузка, если не было возвращено время окончания срока действия и время последнего изменения с сервера. |
|
Отключает проверку сертификатов на основе SSL/PCT, возвращаемых с сервера, по имени узла, указанному в запросе. Функции WinINet используют простой проверка сертификатов, сравнивая имена узлов и простые правила подстановочных знаков. |
|
Отключает проверку сертификатов на основе SSL/PCT на наличие правильных дат действия. |
|
Отключает обнаружение этого специального типа перенаправления. При использовании этого флага WinINet прозрачно разрешает перенаправление с HTTPS на URL-адреса HTTP. |
|
Отключает обнаружение этого специального типа перенаправления. При использовании этого флага WinINet прозрачно разрешает перенаправления с HTTP на URL-адреса HTTPS. |
|
Использует для подключения семантику поддержания активности, если она доступна. Этот флаг является обязательным для microsoft network (MSN), NTLM и других типов проверки подлинности. |
|
Вызывает создание временного файла, если файл не может быть кэширован. |
|
Не пытается выполнить проверку подлинности автоматически. |
|
Не обрабатывает перенаправление автоматически в HttpSendRequest. |
|
Не добавляет возвращенную сущность в кэш. |
|
Не добавляет автоматически заголовки файлов cookie в запросы и не добавляет автоматически возвращенные файлы cookie в базу данных файлов cookie. |
|
Отключает диалоговое окно cookie. |
|
Использует пассивную семантику FTP. InternetOpenUrl использует этот флаг для FTP-файлов и каталогов. |
|
Принудительно разрешает запрос сервером-источником, даже если на прокси-сервере существует кэшированная копия. |
|
Возвращает данные в виде структуры WIN32_FIND_DATA при получении сведений о каталоге FTP. Если этот флаг не указан или вызов был выполнен через прокси-сервер CERN, InternetOpenUrl возвращает HTML-версию каталога.
Windows XP и Windows Server 2003 R2 и более ранние версии: Также возвращает данные в виде структуры GOPHER_FIND_DATA при получении сведений о каталоге Gopher. |
|
Принудительное скачивание запрошенного файла, объекта или списка каталогов с сервера-источника, а не из кэша. |
|
Перезагружает ресурсы HTTP, если ресурс был изменен с момента последнего скачивания. Все ресурсы FTP перезагружаются.
Windows XP и Windows Server 2003 R2 и более ранние версии: Ресурсы Gopher также перезагружаются. |
|
Использует безопасную семантику транзакций. Это означает использование технологии SSL/PCT и имеет смысл только в HTTP-запросах. |
[in] dwContext
Указатель на переменную, указывающую определяемое приложением значение, которое передается вместе с возвращенным дескриптором в любые функции обратного вызова.
Возвращаемое значение
Возвращает допустимый дескриптор URL-адреса, если подключение установлено успешно, или ЗНАЧЕНИЕ NULL в случае сбоя подключения. Чтобы получить определенное сообщение об ошибке, вызовите Метод GetLastError. Чтобы определить причину отказа в доступе к службе, вызовите InternetGetLastResponseInfo.
Комментарии
Сначала вызовите InternetCanonicalizeUrl , если используемый URL-адрес содержит относительный URL-адрес и базовый URL-адрес, разделенные пробелами.
Это общая функция, которую приложение может использовать для получения данных по любому из протоколов, поддерживаемых WinINet. Эта функция особенно полезна, когда приложению не требуется доступ к данным протокола, а требуются только данные, соответствующие URL-адресу. Функция InternetOpenUrl анализирует строку URL-адреса, устанавливает соединение с сервером и готовится к загрузке данных, определенных по URL-адресу. Затем приложение может использовать InternetReadFile (для файлов) или InternetFindNextFile (для каталогов) для получения данных URL-адреса. Нет необходимости вызывать InternetConnect перед InternetOpenUrl.
Windows XP и Windows Server 2003 R2 и более ранних версий: InternetOpenUrl отключает Gopher на портах менее 1024, за исключением порта 70 (стандартный порт Gopher) и порта 105, который обычно используется для поиска по имени central services Organization (CSO).
После завершения работы вызывающего приложения с дескриптором HINTERNET , возвращенным InternetOpenUrl, его необходимо закрыть с помощью функции InternetCloseHandle .
Примечание При работе в асинхронном режиме (параметр dwFlagsinternetOpen указывает INTERNET_FLAG_ASYNC), а параметр dwContext равен нулю (INTERNET_NO_CALLBACK), функция обратного вызова, заданная с параметром InternetSetStatusCallback в дескрипторе сеанса, не будет вызываться, однако вызов по-прежнему будет выполняться в асинхронном режиме.
Как и все другие аспекты API WinINet, эту функцию нельзя безопасно вызывать из библиотеки DllMain или из конструкторов и деструкторов глобальных объектов.
Примечание
Заголовок wininet.h определяет InternetOpenUrl в качестве псевдонима, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОД. Использование псевдонима, не зависящий от кодирования, с кодом, который не является нейтральным для кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или времени выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | wininet.h |
Библиотека | Wininet.lib |
DLL | Wininet.dll |