Función HttpSendRequestA (wininet.h)

Envía la solicitud especificada al servidor HTTP, lo que permite a los llamadores enviar datos adicionales más allá de lo que normalmente se pasa a HttpSendRequestEx.

Sintaxis

BOOL HttpSendRequestA(
  [in] HINTERNET hRequest,
  [in] LPCSTR    lpszHeaders,
  [in] DWORD     dwHeadersLength,
  [in] LPVOID    lpOptional,
  [in] DWORD     dwOptionalLength
);

Parámetros

[in] hRequest

Identificador devuelto por una llamada a la función HttpOpenRequest.

[in] lpszHeaders

Puntero a un cadena terminada en nullque contiene los encabezados adicionales que se van a anexar a la solicitud. Este parámetro puede ser NULL si no hay ningún encabezado adicional que se va a anexar.

[in] dwHeadersLength

Tamaño de los encabezados adicionales, en TCHAR. Si este parámetro es -1L y lpszHeaders no es NULL, la función supone que lpszHeaders está terminada en cero (ASCIIZ) y se calcula la longitud. Vea Comentarios para obtener información específica.

[in] lpOptional

Puntero a un búfer que contiene los datos opcionales que se enviarán inmediatamente después de los encabezados de solicitud. Este parámetro se usa generalmente para las operaciones POST y PUT. Los datos opcionales pueden ser el recurso o la información que se publica en el servidor. Este parámetro puede ser NULL si no hay datos opcionales que enviar.

[in] dwOptionalLength

Tamaño de los datos opcionales, en bytes. Este parámetro puede ser cero si no hay datos opcionales que se van a enviar.

Valor devuelto

Devuelve TRUE si se ejecuta correctamente o FALSE de lo contrario. Para obtener información de error extendida, llame a GetLastError.

Observaciones

HttpSendRequest envía la solicitud especificada al servidor HTTP y permite al cliente especificar encabezados adicionales que se envíen junto con la solicitud.

La función también permite al cliente especificar datos opcionales para enviar al servidor HTTP inmediatamente después de los encabezados de solicitud. Esta característica se usa generalmente para operaciones de "escritura", como PUT y POST.

Una vez enviada la solicitud, se leen el código de estado y los encabezados de respuesta del servidor HTTP. Estos encabezados se mantienen internamente y están disponibles para las aplicaciones cliente a través de la función HttpQueryInfo.

Una aplicación puede usar el mismo identificador de solicitud HTTP en varias llamadas a HttpSendRequest, pero la aplicación debe leer todos los datos devueltos de la llamada anterior antes de llamar a la función de nuevo.

En modo sin conexión, HttpSendRequest devuelve ERROR_FILE_NOT_FOUND si el recurso no se encuentra en la memoria caché de Internet.

Hay dos versiones de HttpSendRequest: HttpSendRequestA (se usa con compilaciones ANSI) y HttpSendRequestW (se usa con compilaciones Unicode). Si dwHeadersLength es -1L y lpszHeaders no es NULL, se producirá lo siguiente: Si se llama a HttpSendRequestA, la función supone que lpszHeaders está terminada en cero (ASCIIZ) y se calcula la longitud. Si se llama a HttpSendRequestW, se produce un error en la función con ERROR_INVALID_PARAMETER.

Nota La función HttpSendRequestA representa encabezados como caracteres ISO-8859-1 que no son caracteres ANSI. La función HttpSendRequestW representa encabezados como caracteres ISO-8859-1 convertidos en caracteres UTF-16LE. Como resultado, nunca es seguro usar la función HttpSendRequestW cuando los encabezados que se van a agregar pueden contener caracteres no ASCII. En su lugar, una aplicación puede usar el MultiByteToWideChar y funciones de WideCharToMultiByte con un parámetro Codepage establecido en 28591 para asignar entre caracteres ANSI y caracteres UTF-16LE.
 
Al igual que todos los demás aspectos de la API de WinINet, esta función no se puede llamar de forma segura desde DllMain ni desde los constructores y destructores de objetos globales.
Nota WinINet no admite implementaciones de servidor. Además, no se debe usar desde un servicio. En el caso de las implementaciones de servidor o los servicios, use Servicios HTTP de Microsoft Windows (WinHTTP).
 

Nota

El encabezado wininet.h define HttpSendRequest como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de wininet.h
biblioteca de Wininet.lib
DLL de Wininet.dll

Consulte también

sesiones HTTP

funciones winINet