Función HttpAddRequestHeadersA (wininet.h)

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

Sintaxis

BOOL HttpAddRequestHeadersA(
  [in] HINTERNET hRequest,
  [in] LPCSTR    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 con 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 está terminada en 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 valores siguientes.

Value 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 con el mismo nombre.
HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
Combina encabezados con el 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 la aplicación que realiza la llamada para garantizar un esquema cohesivo con respecto a 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 es correcto o FALSE en caso contrario. Para obtener información de error extendida, llame a GetLastError.

Comentarios

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 básico, la aplicación puede pasar varios encabezados en un único 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 no como 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 las funciones MultiByteToWideChar y 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 Convenciones para prototipos de función.

Requisitos

   
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado wininet.h
Library Wininet.lib
Archivo DLL Wininet.dll

Consulte también

Sesiones HTTP

Funciones de WinINet