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 Header 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 wird berechnet.

[in] dwModifiers

Ein Satz von Modifizierern, die die Semantik dieser Funktion steuern. Für diesen Parameter ist eine Kombination der folgenden Werte gültig.

Wert Bedeutung
HTTP_ADDREQ_FLAG_ADD
Fügt den Header hinzu, wenn er nicht vorhanden ist. Wird mit HTTP_ADDREQ_FLAG_REPLACE verwendet.
HTTP_ADDREQ_FLAG_ADD_IF_NEW
Fügt den Header nur hinzu, wenn er noch nicht vorhanden ist. Andernfalls wird ein Fehler zurückgegeben.
HTTP_ADDREQ_FLAG_COALESCE
Vereint Kopfzeilen mit demselben Namen.
HTTP_ADDREQ_FLAG_COALESCE_WITH_COMMA
Vereint Kopfzeilen mit demselben Namen. Das Hinzufügen von "Accept: text/*" gefolgt von "Accept: audio/*" mit diesem Flag führt beispielsweise zur Bildung des einzelnen Headers "Accept: text/*, audio/*". Dies führt dazu, dass der erste gefundene Header zusammengefaktet wird. Es liegt an der aufrufenden Anwendung, ein zusammenhängendes Schema in Bezug auf zusammengehörige/separate Header sicherzustellen.
HTTP_ADDREQ_FLAG_COALESCE_WITH_SEMICOLON
Vereint Kopfzeilen desselben Namens mithilfe eines Semikolons.
HTTP_ADDREQ_FLAG_REPLACE
Ersetzt oder entfernt einen Header. Wenn der Headerwert leer ist und der Header gefunden wird, wird er entfernt. Wenn er nicht leer ist, wird der Headerwert ersetzt.

Rückgabewert

Gibt TRUE zurück, wenn erfolgreich, andernfalls FALSE . Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

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

Beachten Sie, dass die Anwendung bei einfachen HttpAddRequestHeaders mehrere Header in einem einzelnen Puffer übergeben kann. Wenn die Anwendung versucht, einen Header zu entfernen oder zu ersetzen, kann in lpszHeaders nur ein Header bereitgestellt werden.

Hinweis Die HttpAddRequestHeadersA-Funktion stellt Header als ISO-8859-1-Zeichen dar, nicht als ANSI-Zeichen. 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 Header Nicht-ASCII-Zeichen enthalten können. Stattdessen kann eine Anwendung die Funktionen MultiByteToWideChar und WideCharToMultiByte mit einem Codepage-Parameter verwenden, der auf 28591 festgelegt ist, um zwischen ANSI-Zeichen und UTF-16LE-Zeichen zuzuordnen.
 
Wie alle anderen Aspekte der WinINet-API kann diese Funktion nicht sicher innerhalb von DllMain oder den Konstruktoren und Destruktoren globaler Objekte aufgerufen werden.
Hinweis WinINet unterstützt keine Serverimplementierungen. Darüber hinaus sollte es nicht von einem Dienst verwendet werden. Verwenden Sie für Serverimplementierungen oder Dienste Microsoft Windows HTTP Services (WinHTTP).
 

Hinweis

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

   
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

Weitere Informationen

HTTP-Sitzungen

WinINet-Funktionen