Condividi tramite


Funzione HttpAddRequestHeadersA (wininet.h)

Aggiunge una o più intestazioni di richiesta HTTP all'handle di richiesta HTTP.

Sintassi

BOOL HttpAddRequestHeadersA(
  [in] HINTERNET hRequest,
  [in] LPCSTR    lpszHeaders,
  [in] DWORD     dwHeadersLength,
  [in] DWORD     dwModifiers
);

Parametri

[in] hRequest

Handle restituito da una chiamata alla funzione HttpOpenRequest.

[in] lpszHeaders

Puntatore a una variabile stringa contenente le intestazioni da aggiungere alla richiesta. Ogni intestazione deve essere terminata da una coppia CR/LF (ritorno a capo/avanzamento riga).

[in] dwHeadersLength

Dimensioni di lpszHeaders, in TCHARs. Se questo parametro è -1L, la funzione presuppone che lpszHeaders sia con terminazione zero (ASCIIZ) e la lunghezza venga calcolata.

[in] dwModifiers

Set di modificatori che controllano la semantica di questa funzione. Questo parametro può essere una combinazione dei valori seguenti.

Valore Significato
HTTP_ADDREQ_FLAG_ADD
Aggiunge l'intestazione se non esiste. Usato con HTTP_ADDREQ_FLAG_REPLACE.
HTTP_ADDREQ_FLAG_ADD_IF_NEW
Aggiunge l'intestazione solo se non esiste già; in caso contrario, viene restituito un errore.
HTTP_ADDREQ_FLAG_COALESCE
Unire le intestazioni con lo stesso nome.
HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
Unire le intestazioni con lo stesso nome. Ad esempio, l'aggiunta di "Accept: text/*" seguita da "Accept: audio/*" con questo flag determina la formazione della singola intestazione "Accept: text/*, audio/*". In questo modo la prima intestazione trovata viene uniti. Spetta all'applicazione chiamante garantire uno schema coesivo rispetto alle intestazioni coalesce/separate.
HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON
Unire le intestazioni con lo stesso nome usando un punto e virgola.
HTTP_ADDREQ_FLAG_REPLACE
Sostituisce o rimuove un'intestazione. Se il valore dell'intestazione è vuoto e l'intestazione viene trovata, viene rimossa. Se non è vuoto, il valore dell'intestazione viene sostituito.

Valore restituito

Restituisce TRUE in caso di esito positivo oppure FALSE in caso contrario. Per ottenere informazioni estese sull'errore, chiamare GetLastError.

Osservazioni

HttpAddRequestHeaders aggiunge intestazioni in formato libero aggiuntive all'handle di richiesta HTTP ed è destinata all'uso da parte di client sofisticati che necessitano di un controllo dettagliato sulla richiesta esatta inviata al server HTTP.

Si noti che per le di base HttpAddRequestHeaders, l'applicazione può passare più intestazioni in un singolo buffer. Se l'applicazione sta tentando di rimuovere o sostituire un'intestazione, è possibile specificare una sola intestazione in lpszHeaders.

Nota La funzione HttpAddRequestHeadersA rappresenta le intestazioni come caratteri ISO-8859-1 non caratteri ANSI. La funzione HttpAddRequestHeadersW rappresenta le intestazioni come caratteri ISO-8859-1 convertiti in caratteri UTF-16LE. Di conseguenza, non è mai sicuro usare la funzione HttpAddRequestHeadersW quando le intestazioni da aggiungere possono contenere caratteri non ASCII. Un'applicazione può invece usare le funzioni MultiByteToWideChar e WideCharToMultiBy te con un parametro codepage impostato su 28591 per eseguire il mapping tra caratteri ANSI e caratteri UTF-16LE.
 
Come tutti gli altri aspetti dell'API WinINet, questa funzione non può essere chiamata in modo sicuro dall'interno di DllMain o dai costruttori e distruttori di oggetti globali.
Nota WinINet non supporta le implementazioni del server. Inoltre, non deve essere usato da un servizio. Per le implementazioni del server o i servizi, usare Servizi HTTP Di Microsoft Windows (WinHTTP).
 

Nota

L'intestazione wininet.h definisce HttpAddRequestHeaders come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione wininet.h
libreria Wininet.lib
dll Wininet.dll

Vedere anche

sessioni HTTP

funzioni WinINet