HttpSendRequestW-Funktion (wininet.h)
Sendet die angegebene Anforderung an den HTTP-Server, sodass Aufrufer zusätzliche Daten über das hinaus senden können, was normalerweise an HttpSendRequestExübergeben wird.
Syntax
BOOL HttpSendRequestW(
[in] HINTERNET hRequest,
[in] LPCWSTR 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--terminated-Zeichenfolge, die die zusätzlichen Header enthält, die an die Anforderung angefügt werden sollen. Dieser Parameter kann NULL- werden, wenn keine zusätzlichen Header angefügt werden sollen.
[in] dwHeadersLength
Die Größe der zusätzlichen Kopfzeilen in TCHARs. Wenn dieser Parameter -1L ist und lpszHeaders nicht NULL-ist, geht die Funktion davon aus, dass lpszHeaders null-terminated (ASCIIZ) ist und die Länge berechnet wird. Einzelheiten finden Sie in den Hinweisen.
[in] lpOptional
Ein Zeiger auf einen Puffer, der alle optionalen Daten enthält, die unmittelbar nach den Anforderungsheadern gesendet werden sollen. Dieser Parameter wird in der Regel für POST- und PUT-Vorgänge verwendet. Die optionalen Daten können die Ressource oder Informationen sein, die auf dem Server bereitgestellt werden. Dieser Parameter kann NULL- werden, wenn keine optionalen Daten gesendet werden.
[in] dwOptionalLength
Die Größe der optionalen Daten in Byte. Dieser Parameter kann null sein, wenn keine optionalen Daten gesendet werden.
Rückgabewert
Gibt TRUE zurück, wenn dies erfolgreich ist, oder FALSE andernfalls. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.
Bemerkungen
HttpSendRequest sendet die angegebene Anforderung an den HTTP-Server und ermöglicht 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 in der Regel für Schreibvorgänge wie PUT und POST verwendet.
Nachdem die Anforderung gesendet wurde, werden der Statuscode 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 das gleiche HTTP-Anforderungshandle in mehreren Aufrufen von HttpSendRequest-verwenden, die Anwendung muss jedoch alle daten lesen, die vom vorherigen Aufruf zurückgegeben werden, 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 ist 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 berechnet wird. Wenn HttpSendRequestW- aufgerufen wird, schlägt die Funktion mit ERROR_INVALID_PARAMETERfehl.
Anmerkung
Der wininet.h-Header definiert HttpSendRequest als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante 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 |
---|---|
mindestens unterstützte Client- | Windows 2000 Professional [nur Desktop-Apps] |
mindestens unterstützte Server- | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform- | Fenster |
Header- | wininet.h |
Library | Wininet.lib |
DLL- | Wininet.dll |