HttpSendRequestA-Funktion (wininet.h)
Sendet die angegebene Anforderung an den HTTP-Server, sodass Aufrufer zusätzliche Daten senden können, die über das hinausgehen, was normalerweise an HttpSendRequestEx übergeben wird.
Syntax
BOOL HttpSendRequestA(
[in] HINTERNET hRequest,
[in] LPCSTR lpszHeaders,
[in] DWORD dwHeadersLength,
[in] LPVOID lpOptional,
[in] DWORD dwOptionalLength
);
Parameter
[in] hRequest
Ein Handle, das von einem Aufruf der HttpOpenRequest-Funktion zurückgegeben wird.
[in] lpszHeaders
Ein Zeiger auf eine NULL-endende Zeichenfolge, die die zusätzlichen Header enthält, die an die Anforderung angefügt werden sollen. Dieser Parameter kann NULL sein, wenn keine zusätzlichen Header angefügt werden müssen.
[in] dwHeadersLength
Die Größe der zusätzlichen Header in TCHARs. Wenn dieser Parameter -1L und lpszHeaders nicht NULL ist, geht die Funktion davon aus, dass lpszHeaders null-terminated (ASCIIZ) ist, und die Länge wird berechnet. Einzelheiten finden Sie unter Hinweise.
[in] lpOptional
Ein Zeiger auf einen Puffer, der alle optionalen Daten enthält, die unmittelbar nach den Anforderungsheadern gesendet werden sollen. Dieser Parameter wird im Allgemeinen für POST- und PUT-Vorgänge verwendet. Die optionalen Daten können die Ressource oder die Informationen sein, die auf dem Server bereitgestellt werden. Dieser Parameter kann NULL sein, wenn keine optionalen Daten zum Senden vorhanden sind.
[in] dwOptionalLength
Die Größe der optionalen Daten in Bytes. Dieser Parameter kann 0 (null) sein, wenn keine optionalen Daten zum Senden vorhanden sind.
Rückgabewert
Gibt TRUE zurück, wenn erfolgreich, andernfalls FALSE . Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.
Hinweise
HttpSendRequest sendet die angegebene Anforderung an den HTTP-Server und ermöglicht es dem Client, zusätzliche Header anzugeben, die zusammen mit der Anforderung gesendet werden sollen.
Mit der Funktion kann der Client auch optionale Daten angeben, die unmittelbar nach den Anforderungsheadern an den HTTP-Server gesendet werden sollen. Dieses Feature wird im Allgemeinen für Schreibvorgänge wie PUT und POST verwendet.
Nachdem die Anforderung gesendet wurde, werden der status Code und die Antwortheader vom HTTP-Server gelesen. Diese Header werden intern verwaltet und stehen Clientanwendungen über die HttpQueryInfo-Funktion zur Verfügung.
Eine Anwendung kann dasselbe HTTP-Anforderungshandle in mehreren Aufrufen von HttpSendRequest verwenden, aber die Anwendung muss alle Daten lesen, die vom vorherigen Aufruf zurückgegeben wurden, bevor die Funktion erneut aufgerufen wird.
Im Offlinemodus gibt HttpSendRequestERROR_FILE_NOT_FOUND zurück, wenn die Ressource nicht im Internetcache gefunden wird.
Es gibt zwei Versionen von HttpSendRequest: HttpSendRequestA (verwendet mit ANSI-Builds) und HttpSendRequestW (verwendet mit Unicode-Builds). Wenn dwHeadersLength -1L und lpszHeaders nicht NULL ist, geschieht Folgendes: Wenn HttpSendRequestA aufgerufen wird, geht die Funktion davon aus, dass lpszHeaders null-terminated (ASCIIZ) ist, und die Länge wird berechnet. Wenn HttpSendRequestW aufgerufen wird, schlägt die Funktion mit ERROR_INVALID_PARAMETER fehl.
Hinweis
Der wininet.h-Header definiert HttpSendRequest als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | wininet.h |
Bibliothek | Wininet.lib |
DLL | Wininet.dll |