Funzione HttpSendRequestA (wininet.h)
Invia la richiesta specificata al server HTTP, consentendo ai chiamanti di inviare dati aggiuntivi oltre a quanto normalmente passato a HttpSendRequestEx.
Sintassi
BOOL HttpSendRequestA(
[in] HINTERNET hRequest,
[in] LPCSTR lpszHeaders,
[in] DWORD dwHeadersLength,
[in] LPVOID lpOptional,
[in] DWORD dwOptionalLength
);
Parametri
[in] hRequest
Handle restituito da una chiamata alla funzione HttpOpenRequest .
[in] lpszHeaders
Puntatore a una stringa con terminazione Null che contiene le intestazioni aggiuntive da aggiungere alla richiesta. Questo parametro può essere NULL se non sono presenti intestazioni aggiuntive da aggiungere.
[in] dwHeadersLength
Dimensioni delle intestazioni aggiuntive, in TCHAR. Se questo parametro è -1L e lpszHeaders non è NULL, la funzione presuppone che lpszHeaders sia con terminazione zero (ASCIIZ) e la lunghezza venga calcolata. Per informazioni specifiche, vedere la sezione Osservazioni.
[in] lpOptional
Puntatore a un buffer contenente tutti i dati facoltativi da inviare immediatamente dopo le intestazioni della richiesta. Questo parametro viene in genere usato per le operazioni POST e PUT. I dati facoltativi possono essere la risorsa o le informazioni inviate al server. Questo parametro può essere NULL se non sono presenti dati facoltativi da inviare.
[in] dwOptionalLength
Dimensioni dei dati facoltativi, in byte. Questo parametro può essere zero se non sono presenti dati facoltativi da inviare.
Valore restituito
Restituisce TRUE se l'operazione riesce o FALSE in caso contrario. Per informazioni dettagliate sull'errore, chiamare GetLastError.
Commenti
HttpSendRequest invia la richiesta specificata al server HTTP e consente al client di specificare intestazioni aggiuntive da inviare insieme alla richiesta.
La funzione consente anche al client di specificare i dati facoltativi da inviare al server HTTP immediatamente dopo le intestazioni della richiesta. Questa funzionalità viene in genere usata per operazioni di "scrittura", ad esempio PUT e POST.
Dopo l'invio della richiesta, vengono letti il codice di stato e le intestazioni di risposta dal server HTTP. Queste intestazioni vengono mantenute internamente e sono disponibili per le applicazioni client tramite la funzione HttpQueryInfo .
Un'applicazione può usare lo stesso handle di richiesta HTTP in più chiamate a HttpSendRequest, ma l'applicazione deve leggere tutti i dati restituiti dalla chiamata precedente prima di chiamare nuovamente la funzione.
In modalità offline HttpSendRequest restituisce ERROR_FILE_NOT_FOUND se la risorsa non viene trovata nella cache Internet.
Sono disponibili due versioni di HttpSendRequest: HttpSendRequestA (usate con le build ANSI) e HttpSendRequestW (usate con compilazioni Unicode). Se dwHeadersLength è -1L e lpszHeaders non è NULL, si verificherà quanto segue: se viene chiamato HttpSendRequestA , la funzione presuppone che lpszHeaders sia con terminazione zero (ASCIIZ) e la lunghezza venga calcolata. Se viene chiamato HttpSendRequestW , la funzione ha esito negativo con ERROR_INVALID_PARAMETER.
Nota
L'intestazione wininet.h definisce HttpSendRequest 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 che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | wininet.h |
Libreria | Wininet.lib |
DLL | Wininet.dll |