Функция 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, которая содержит дополнительные заголовки для добавления в запрос. Этот параметр может иметь значение NULL , если нет дополнительных заголовков для добавления.
[in] dwHeadersLength
Размер дополнительных заголовков в TCHAR. Если этот параметр имеет значение -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 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | wininet.h |
Библиотека | Wininet.lib |
DLL | Wininet.dll |