Função HttpAddRequestHeadersW (wininet.h)

Adiciona um ou mais cabeçalhos de solicitação HTTP ao identificador de solicitação HTTP.

Sintaxe

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

Parâmetros

[in] hRequest

Um identificador retornado por uma chamada para a função HttpOpenRequest .

[in] lpszHeaders

Um ponteiro para uma variável de cadeia de caracteres que contém os cabeçalhos a serem acrescentados à solicitação. Cada cabeçalho deve ser encerrado por um par CR/LF (retorno de carro/alimentação de linha).

[in] dwHeadersLength

O tamanho de lpszHeaders, em TCHARs. Se esse parâmetro for -1L, a função pressupõe que lpszHeaders seja terminado como zero (ASCIIZ) e o comprimento será calculado.

[in] dwModifiers

Um conjunto de modificadores que controlam a semântica dessa função. Esse parâmetro pode ser uma combinação dos seguintes valores.

Valor Significado
HTTP_ADDREQ_FLAG_ADD
Adiciona o cabeçalho se ele não existir. Usado com HTTP_ADDREQ_FLAG_REPLACE.
HTTP_ADDREQ_FLAG_ADD_IF_NEW
Adiciona o cabeçalho somente se ele ainda não existir; caso contrário, um erro será retornado.
HTTP_ADDREQ_FLAG_COALESCE
Agrupa cabeçalhos de mesmo nome.
HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
Agrupa cabeçalhos de mesmo nome. Por exemplo, adicionar "Aceitar: texto/*" seguido por "Aceitar: áudio/*" com esse sinalizador resulta na formação do cabeçalho único "Aceitar: texto/*, áudio/*". Isso faz com que o primeiro cabeçalho encontrado seja unido. Cabe ao aplicativo de chamada garantir um esquema coeso em relação a cabeçalhos unidos/separados.
HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON
Agrupa cabeçalhos de mesmo nome usando um ponto e vírgula.
HTTP_ADDREQ_FLAG_REPLACE
Substitui ou remove um cabeçalho. Se o valor do cabeçalho estiver vazio e o cabeçalho for encontrado, ele será removido. Se não estiver vazio, o valor do cabeçalho será substituído.

Valor retornado

Retornará TRUE se tiver êxito ou FALSE caso contrário. Para obter informações de erro estendidas, chame GetLastError.

Comentários

HttpAddRequestHeaders acrescenta cabeçalhos adicionais de formato livre ao identificador de solicitação HTTP e destina-se ao uso por clientes sofisticados que precisam de controle detalhado sobre a solicitação exata enviada ao servidor HTTP.

Observe que, para HttpAddRequestHeaders básicos, o aplicativo pode passar vários cabeçalhos em um único buffer. Se o aplicativo estiver tentando remover ou substituir um cabeçalho, somente um cabeçalho poderá ser fornecido em lpszHeaders.

Nota A função HttpAddRequestHeadersA representa cabeçalhos como caracteres ISO-8859-1 e não caracteres ANSI. A função HttpAddRequestHeadersW representa cabeçalhos como caracteres ISO-8859-1 convertidos em caracteres UTF-16LE. Como resultado, nunca é seguro usar a função HttpAddRequestHeadersW quando os cabeçalhos a serem adicionados podem conter caracteres não ASCII. Em vez disso, um aplicativo pode usar as funções MultiByteToWideChar e WideCharToMultiByte com um parâmetro Codepage definido como 28591 para mapear entre caracteres ANSI e caracteres UTF-16LE.
 
Como todos os outros aspectos da API WinINet, essa função não pode ser chamada com segurança de dentro de DllMain ou dos construtores e destruidores de objetos globais.
Nota O WinINet não dá suporte a implementações de servidor. Além disso, ele não deve ser usado de um serviço. Para implementações de servidor ou serviços, use Os Serviços HTTP do Microsoft Windows (WinHTTP).
 

Observação

O cabeçalho wininet.h define HttpAddRequestHeaders como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho wininet.h
Biblioteca Wininet.lib
DLL Wininet.dll

Confira também

Sessões HTTP

Funções WinINet