Функция HttpSendRequestA (wininet.h)
Отправляет указанный запрос на HTTP-сервер, позволяя вызывающим пользователям отправлять дополнительные данные за пределы обычно передаваемых HttpSendRequestEx.
Синтаксис
BOOL HttpSendRequestA(
[in] HINTERNET hRequest,
[in] LPCSTR lpszHeaders,
[in] DWORD dwHeadersLength,
[in] LPVOID lpOptional,
[in] DWORD dwOptionalLength
);
Параметры
[in] hRequest
Дескриптор, возвращаемый вызовом функции HttpOpenRequest.
[in] lpszHeaders
Указатель на строку null-terminated, содержащую дополнительные заголовки, добавляемые к запросу. Этот параметр может быть значение NULL, если добавить дополнительные заголовки отсутствуют.
[in] dwHeadersLength
Размер дополнительных заголовков в TCHARs. Если этот параметр -1L и lpszHeaders не NULL, функция предполагает, что lpszHeaders равно нулевому завершению (ASCIIZ), а длина вычисляется. Дополнительные сведения см. в примечаниях.
[in] lpOptional
Указатель на буфер, содержащий любые необязательные данные, которые отправляются сразу после заголовков запроса. Этот параметр обычно используется для операций POST и PUT. Необязательные данные могут быть ресурсом или информацией, публикуемой на сервере. Этот параметр может быть значение NULL, если для отправки необязательных данных нет.
[in] dwOptionalLength
Размер необязательных данных в байтах. Этот параметр может быть равен нулю, если для отправки необязательных данных нет.
Возвращаемое значение
Возвращает TRUE, если выполнено успешно или FALSE в противном случае. Чтобы получить расширенные сведения об ошибке, вызовите GetLastError.
Замечания
HttpSendRequest отправляет указанный запрос на HTTP-сервер и позволяет клиенту указывать дополнительные заголовки для отправки вместе с запросом.
Функция также позволяет клиенту указывать необязательные данные для отправки на HTTP-сервер сразу после заголовков запроса. Эта функция обычно используется для операций записи, таких как PUT и POST.
После отправки запроса считываются код состояния и заголовки ответа с HTTP-сервера. Эти заголовки сохраняются внутренне и доступны клиентским приложениям через функцию HttpQueryInfo.
Приложение может использовать один и тот же дескриптор HTTP-запроса в нескольких вызовах для HttpSendRequest, но приложение должно считывать все данные, возвращенные из предыдущего вызова, прежде чем снова вызывать функцию.
В автономном режиме HttpSendRequest возвращает ERROR_FILE_NOT_FOUND, если ресурс не найден в кэше Интернета.
Существует две версии HttpSendRequest—HttpSendRequestA (используется со сборками ANSI) и HttpSendRequestW (используется с сборками Юникода). Если dwHeadersLength -1L и lpszHeaders не NULL, то произойдет следующее: если вызывается HttpSendRequestA, функция предполагает, что lpszHeaders равно нулевому завершению (ASCIIZ), а длина вычисляется. Если вызывается httpSendRequestW, функция завершается ошибкой с ERROR_INVALID_PARAMETER.
Заметка
Заголовок wininet.h определяет HttpSendRequest как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | wininet.h |
библиотеки |
Wininet.lib |
DLL | Wininet.dll |
См. также
функций WinINet