Compartilhar via


Função HttpAddRequestHeadersA (wininet.h)

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

Sintaxe

BOOL HttpAddRequestHeadersA(
  [in] HINTERNET hRequest,
  [in] LPCSTR    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 delpszHeaders , em TCHARs. Se esse parâmetro for -1L, a função pressupõe que lpszHeaders seja ASCIIZ (terminação zero) e o comprimento será computado.

[in] dwModifiers

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

Valor Significado
HTTP_ADDREQ_FLAG_ADD
Adicionará 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
Compacta cabeçalhos com o mesmo nome.
HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
Compacta cabeçalhos com o mesmo nome. Por exemplo, adicionar "Aceitar: texto/*" seguido de "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
Compacta 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 de retorno

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

Observações

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 httpAddRequestHeadersbá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.

Observação 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.
 
Assim como todos os outros aspectos da API WinINet, essa função não pode ser chamada com segurança de dentro do DllMain ou dos construtores e destruidores de objetos globais.
Observaçã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 ou serviços de servidor, use do Microsoft Windows HTTP Services (WinHTTP).
 

Nota

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. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho wininet.h
biblioteca Wininet.lib
de DLL Wininet.dll

Consulte também

sessões HTTP

do WinINet Functions