Freigeben über


HttpAddRequestHeadersA-Funktion (wininet.h)

Fügt dem HTTP-Anforderungshandle einen oder mehrere HTTP-Anforderungsheader hinzu.

Syntax

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

Parameter

[in] hRequest

Ein Handle, das von einem Aufruf der HttpOpenRequest--Funktion zurückgegeben wird.

[in] lpszHeaders

Ein Zeiger auf eine Zeichenfolgenvariable, die die Kopfzeilen enthält, die an die Anforderung angefügt werden sollen. Jeder Header muss durch ein CR/LF-Paar (Wagenrücklauf/Zeilenvorschub) beendet werden.

[in] dwHeadersLength

Die Größe von lpszHeaders, in TCHARs. Wenn dieser Parameter -1L ist, geht die Funktion davon aus, dass lpszHeaders null-terminated (ASCIIZ) ist und die Länge berechnet wird.

[in] dwModifiers

Eine Reihe von Modifizierern, die die Semantik dieser Funktion steuern. Dieser Parameter kann eine Kombination aus den folgenden Werten sein.

Wert Bedeutung
HTTP_ADDREQ_FLAG_ADD
Fügt die Kopfzeile hinzu, wenn sie nicht vorhanden ist. Wird mit HTTP_ADDREQ_FLAG_REPLACEverwendet.
HTTP_ADDREQ_FLAG_ADD_IF_NEW
Fügt die Kopfzeile nur hinzu, wenn sie noch nicht vorhanden ist; andernfalls wird ein Fehler zurückgegeben.
HTTP_ADDREQ_FLAG_COALESCE
Klammern desselben Namens zusammen.
HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
Klammern desselben Namens zusammen. Beispielsweise führt das Hinzufügen von "Accept: text/*" gefolgt von "Accept: audio/*" mit diesem Flag zur Bildung der einzelnen Kopfzeile "Accept: text/*, audio/*". Dies bewirkt, dass die erste Kopfzeile zusammengefügt wird. Es liegt an der aufrufenden Anwendung, ein zusammenhängendes Schema in Bezug auf zusammengefügte/separate Kopfzeilen sicherzustellen.
HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON
Klammert Kopfzeilen desselben Namens mithilfe eines Semikolons zusammen.
HTTP_ADDREQ_FLAG_REPLACE
Ersetzt oder entfernt eine Kopfzeile. Wenn der Kopfzeilenwert leer ist und die Kopfzeile gefunden wird, wird sie entfernt. Wenn nicht leer, wird der Kopfzeilenwert ersetzt.

Rückgabewert

Gibt TRUE zurück, wenn dies erfolgreich ist, oder FALSE andernfalls. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

Bemerkungen

HttpAddRequestHeaders zusätzliche, freiformatige Header an das HTTP-Anforderungshandle anfügt und für die Verwendung durch anspruchsvolle Clients vorgesehen ist, die detaillierte Kontrolle über die genaue Anforderung benötigen, die an den HTTP-Server gesendet wird.

Beachten Sie, dass die Anwendung für grundlegende HttpAddRequestHeaders-mehrere Header in einem einzelnen Puffer übergeben kann. Wenn die Anwendung versucht, einen Header zu entfernen oder zu ersetzen, kann nur ein Header in lpszHeadersangegeben werden.

Hinweis Die HttpAddRequestHeadersA--Funktion stellt Kopfzeilen als ISO-8859-1-Zeichen und keine ANSI-Zeichen dar. Die HttpAddRequestHeadersW--Funktion stellt Header als ISO-8859-1-Zeichen dar, die in UTF-16LE-Zeichen konvertiert werden. Daher ist es nie sicher, die HttpAddRequestHeadersW Funktion zu verwenden, wenn die hinzuzufügenden Kopfzeilen nicht-ASCII-Zeichen enthalten können. Stattdessen kann eine Anwendung die funktionen MultiByteToWideChar und WideCharToMultiByte- verwenden, wobei ein Codepage- Parameter auf 28591 festgelegt ist, um zwischen ANSI-Zeichen und UTF-16LE-Zeichen zuzuordnen.
 
Wie alle anderen Aspekte der WinINet-API kann diese Funktion nicht innerhalb von DllMain oder den Konstruktoren und Destruktoren globaler Objekte sicher aufgerufen werden.
Hinweis WinINet keine Serverimplementierungen unterstützt. Darüber hinaus sollte sie nicht von einem Dienst verwendet werden. Verwenden Sie für Serverimplementierungen oder -dienste Microsoft Windows HTTP Services (WinHTTP).
 

Anmerkung

Der wininet.h-Header definiert HttpAddRequestHeaders 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
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

Siehe auch

HTTP-Sitzungen

WinINet-Funktionen