Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die GetAllResponseHeaders-Methode ruft alle HTTP-Antwortheader ab.
Syntax
HRESULT GetAllResponseHeaders(
[out, retval] BSTR *Headers
);
Parameter
-
Header [out, retval]
-
Empfängt die resultierenden Headerinformationen.
Rückgabewert
Der Rückgabewert wird bei Erfolg S_OK oder andernfalls ein Fehlerwert.
Bemerkungen
Diese Methode gibt alle Header zurück, die in der letzten Serverantwort enthalten sind. Die einzelnen Kopfzeilen werden durch eine Wagenrücklauf- und Zeilenvorschubkombination (ASCII 13 und 10) getrennt. Auf den letzten Eintrag folgen zwei Trennzeichen (13, 10, 13, 10). Rufen Sie diese Methode erst auf, nachdem die Send-Methode aufgerufen wurde.
Hinweis
Informationen zu Windows XP und Windows 2000 finden Sie im Abschnitt Laufzeitanforderungen der WinHTTP-Startseite .
Beispiele
Das folgende Beispiel zeigt, wie Sie eine HTTP-Verbindung öffnen, eine HTTP-Anforderung senden und alle Header aus der Antwort abrufen. Dieses Beispiel sollte über eine Eingabeaufforderung ausgeführt werden.
#include <windows.h>
#include <stdio.h>
#include <objbase.h>
#include "httprequest.h"
#pragma comment(lib, "ole32.lib")
#pragma comment(lib, "oleaut32.lib")
// IID for IWinHttpRequest.
const IID IID_IWinHttpRequest =
{
0x06f29373,
0x5c5a,
0x4b54,
{0xb0, 0x25, 0x6e, 0xf1, 0xbf, 0x8a, 0xbf, 0x0e}
};
int main(int argc, char* argv[])
{
UNREFERENCED_PARAMETER(argc);
UNREFERENCED_PARAMETER(argv);
// Variable for return value
HRESULT hr;
// Initialize COM
hr = CoInitialize( NULL );
IWinHttpRequest * pIWinHttpRequest = NULL;
BSTR bstrResponse = NULL;
VARIANT varFalse;
VARIANT varEmpty;
CLSID clsid;
VariantInit(&varFalse);
V_VT(&varFalse) = VT_BOOL;
V_BOOL(&varFalse) = VARIANT_FALSE;
VariantInit(&varEmpty);
V_VT(&varEmpty) = VT_ERROR;
hr = CLSIDFromProgID(L"WinHttp.WinHttpRequest.5.1", &clsid);
if (SUCCEEDED(hr))
{
hr = CoCreateInstance(clsid, NULL,
CLSCTX_INPROC_SERVER,
IID_IWinHttpRequest,
(void **)&pIWinHttpRequest);
}
if (SUCCEEDED(hr))
{ // Open WinHttpRequest.
BSTR bstrMethod = SysAllocString(L"GET");
BSTR bstrUrl = SysAllocString(L"https://microsoft.com");
hr = pIWinHttpRequest->Open(bstrMethod, bstrUrl, varFalse);
SysFreeString(bstrMethod);
SysFreeString(bstrUrl);
}
if (SUCCEEDED(hr))
{ // Send Request.
hr = pIWinHttpRequest->Send(varEmpty);
}
if (SUCCEEDED(hr))
{ // Get Response text.
hr = pIWinHttpRequest->GetAllResponseHeaders(&bstrResponse);
}
if (SUCCEEDED(hr))
{ // Print the response to a console.
wprintf(L"%.256s",bstrResponse);
}
// Release memory.
if (pIWinHttpRequest)
pIWinHttpRequest->Release();
if (bstrResponse)
SysFreeString(bstrResponse);
CoUninitialize();
return 0;
}
Das folgende Skripterstellungsbeispiel zeigt, wie Sie eine HTTP-Verbindung öffnen, eine HTTP-Anforderung senden und alle Header aus der Antwort abrufen.
// Instantiate a WinHttpRequest object.
var WinHttpReq = new ActiveXObject("WinHttp.WinHttpRequest.5.1");
// Initialize an HTTP request.
WinHttpReq.Open("GET", "https://www.microsoft.com", false);
// Send the HTTP request.
WinHttpReq.Send();
// Get all response headers.
WScript.Echo( WinHttpReq.GetAllResponseHeaders());
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
Windows XP, Windows 2000 Professional mit SP3 [nur Desktop-Apps] |
| Unterstützte Mindestversion (Server) |
Windows Server 2003, Windows 2000 Server mit SP3 [nur Desktop-Apps] |
| Verteilbare Komponente |
WinHTTP 5.0 und Internet Explorer 5.01 oder höher unter Windows XP und Windows 2000. |
| IDL |
|
| Bibliothek |
|
| DLL |
|