Compartir a través de


Función HttpAddRequestHeadersW (wininet.h)

Agrega uno o varios encabezados de solicitud HTTP al identificador de solicitud HTTP.

Sintaxis

BOOL HttpAddRequestHeadersW(
  [in] HINTERNET hRequest,
  [in] LPCWSTR   lpszHeaders,
  [in] DWORD     dwHeadersLength,
  [in] DWORD     dwModifiers
);

Parámetros

[in] hRequest

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

[in] lpszHeaders

Puntero a una variable de cadena que contiene los encabezados que se van a anexar a la solicitud. Cada encabezado debe terminar por un par CR/LF (retorno de carro/avance de línea).

[in] dwHeadersLength

Tamaño de lpszHeaders, en TCHAR. Si este parámetro es -1L, la función supone que lpszHeaders es de terminación cero (ASCIIZ) y se calcula la longitud.

[in] dwModifiers

Conjunto de modificadores que controlan la semántica de esta función. Este parámetro puede ser una combinación de los siguientes valores.

Valor Significado
HTTP_ADDREQ_FLAG_ADD
Agrega el encabezado si no existe. Se usa con HTTP_ADDREQ_FLAG_REPLACE.
HTTP_ADDREQ_FLAG_ADD_IF_NEW
Agrega el encabezado solo si aún no existe; de lo contrario, se devuelve un error.
HTTP_ADDREQ_FLAG_COALESCE
Combina encabezados del mismo nombre.
HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
Combina encabezados del mismo nombre. Por ejemplo, agregar "Accept: text/*" seguido de "Accept: audio/*" con esta marca da como resultado la formación del encabezado único "Accept: text/*, audio/*". Esto hace que el primer encabezado encontrado se fusione. Es necesario que la aplicación que realiza la llamada garantice un esquema cohesivo con respecto a los encabezados fusionados o independientes.
HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON
Combina encabezados del mismo nombre mediante un punto y coma.
HTTP_ADDREQ_FLAG_REPLACE
Reemplaza o quita un encabezado. Si el valor del encabezado está vacío y se encuentra el encabezado, se quita. Si no está vacío, se reemplaza el valor del encabezado.

Valor devuelto

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

Observaciones

HttpAddRequestHeaders anexa encabezados de formato libre adicionales al identificador de solicitud HTTP y está pensado para su uso por parte de clientes sofisticados que necesitan control detallado sobre la solicitud exacta enviada al servidor HTTP.

Tenga en cuenta que, para httpAddRequestHeaders, la aplicación puede pasar varios encabezados en un solo búfer. Si la aplicación intenta quitar o reemplazar un encabezado, solo se puede proporcionar un encabezado en lpszHeaders.

Nota La función HttpAddRequestHeadersA representa encabezados como caracteres ISO-8859-1 que no son caracteres ANSI. La función HttpAddRequestHeadersW representa encabezados como caracteres ISO-8859-1 convertidos en caracteres UTF-16LE. Como resultado, nunca es seguro usar la función HttpAddRequestHeadersW 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 HttpAddRequestHeaders 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