IWinHttpRequest::GetAllResponseHeaders-Methode

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 ist bei Erfolg S _ OK, andernfalls ein Fehlerwert.

Hinweise

Diese Methode gibt alle Header zurück, die in der letzten Serverantwort enthalten sind. Die einzelnen Header werden durch eine Kombination aus Wagenrücklauf und Zeilenvorschub (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 Skriptbeispiel 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 nur mit [ SP3-Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows Server 2003, Windows 2000 Server nur mit [ SP3-Desktop-Apps]
Verteilbare Komponente
WinHTTP 5.0 und Internet Explorer 5.01 oder höher auf Windows XP und Windows 2000.
IDL
HttpRequest.idl
Bibliothek
Winhttp.lib
DLL
Winhttp.dll

Siehe auch

IWinHttpRequest

WinHttpRequest

GetResponseHeader

WinHTTP-Versionen