Поделиться через


Функция HttpQueryInfoA (wininet.h)

Извлекает сведения о заголовке, связанные с HTTP-запросом.

Синтаксис

BOOL HttpQueryInfoA(
  [in]      HINTERNET hRequest,
  [in]      DWORD     dwInfoLevel,
  [in, out] LPVOID    lpBuffer,
  [in, out] LPDWORD   lpdwBufferLength,
  [in, out] LPDWORD   lpdwIndex
);

Параметры

[in] hRequest

Дескриптор, возвращаемый вызовом функции HttpOpenRequest или InternetOpenUrl.

[in] dwInfoLevel

Сочетание атрибута для извлечения и флагов, изменяющих запрос. Список возможных значений атрибутов и модификаторов см. в разделе Флаги сведений о запросах.

[in, out] lpBuffer

Указатель на буфер для получения запрошенных сведений. Этот параметр не должен быть null.

[in, out] lpdwBufferLength

Указатель на переменную, содержащую запись, размер в байтах буфера, на который указывает lpvBuffer.

Когда функция возвращается успешно, эта переменная содержит количество байтов сведений, записанных в буфер. В случае строки число байтов не включает завершающий символ null.

Когда функция
завершается ошибкой с расширенным кодом ошибки ERROR_INSUFFICIENT_BUFFER, переменная, на которую указывает lpdwBufferLength содержится при выходе размера в байтах буфера достаточно большого размера, чтобы получить запрошенные сведения. Вызывающее приложение может затем выделить буфер этого размера или большего размера и снова вызвать функцию.

[in, out] lpdwIndex

Указатель на индекс заголовка от нуля, используемый для перечисления нескольких заголовков с одинаковым именем. При вызове функции этот параметр является индексом указанного заголовка для возврата. Когда функция возвращается, этот параметр является индексом следующего заголовка. Если следующий индекс не найден, возвращается ERROR_HTTP_HEADER_NOT_FOUND.

Возвращаемое значение

Возвращает TRUE, если выполнено успешно или FALSE в противном случае. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.

Замечания

Вы можете получить следующие типы данных из HttpQueryInfo:

  • Строки (по умолчанию)
  • SYSTEMTIME (для дат)
  • DWORD (для STATUS_CODE, CONTENT_LENGTHи т. д., если используется HTTP_QUERY_FLAG_NUMBER)

Если приложению требуется, чтобы данные возвращались как тип данных, отличный от строки, необходимо включить соответствующий модификатор с атрибутом, переданным в dwInfoLevel.

Функция HttpQueryInfo доступна в Microsoft Internet Explorer 3.0 для символов ISO-8859-1 (функция HttpQueryInfoA) и в Internet Explorer 4.4. Для символов ISO-8859-1 (функции HttpQueryInfoA) и для символов ISO-8859-1, преобразованных в символы UTF-16LE. (функция HttpQueryInfoW ).

ПримечаниеФункция httpQueryInfoA представляет заголовки как символы ISO-8859-1, а не символы ANSI. Функция httpQueryInfoW представляет заголовки как символы ISO-8859-1, преобразованные в символы UTF-16LE. В результате никогда не безопасно использовать функцию HttpQueryInfoW, если заголовки могут содержать символы, отличные от ASCII. Вместо этого приложение может использовать функции MultiByteToWideChar и Функции WideCharToMultiBy te с параметром Codepage , равным 28591, для сопоставления между символами ANSI и символами UTF-16LE.
 
Пример кода, вызывающего функцию HttpQueryInfo, см. в получения заголовков HTTP.

Как и все остальные аспекты API WinINet, эта функция не может быть безопасно вызвана из dllMain или конструкторов и деструкторов глобальных объектов.

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

Заметка

Заголовок wininet.h определяет HttpQueryInfo как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка wininet.h
библиотеки Wininet.lib
DLL Wininet.dll

См. также

сеансы HTTP

получение заголовков HTTP

функций WinINet