Функция 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-terminated, указывающую заголовки, которые необходимо отправить на HTTP-сервер. Дополнительные сведения см. в описании параметра lpszHeaders в функции HttpSendRequest.
[in] dwHeadersLength
Размер дополнительных заголовков в TCHARs. Если этот параметр -1L и lpszHeaders не NULL, предполагается, что lpszHeaders будет нулевым завершением (ASCIIZ), а длина вычисляется.
[in] dwFlags
Этот параметр может быть одним из следующих значений.
Ценность | Значение |
---|---|
|
Пытается использовать существующий объект InternetConnect, если один существует с теми же атрибутами, необходимыми для выполнения запроса. Это полезно только для операций FTP, так как FTP является единственным протоколом, который обычно выполняет несколько операций во время одного сеанса. API WinINet кэширует один дескриптор подключения для каждого дескриптора HINTERNET, созданного InternetOpen. InternetOpenUrl использует этот флаг для подключений HTTP и FTP. |
|
Принудивает перезагрузку, если срок действия истекает, и время LastModified не возвращается с сервера при определении необходимости перезагрузки элемента из сети. |
|
Отключает проверку сертификатов на основе 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/PIT и используется только в 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.
Как и все остальные аспекты API WinINet, эта функция не может быть безопасно вызвана из dllMain или конструкторов и деструкторов глобальных объектов.
Заметка
Заголовок wininet.h определяет InternetOpenUrl как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | wininet.h |
библиотеки |
Wininet.lib |
DLL | Wininet.dll |
См. также
обработка единого указателя ресурсов
функций WinINet