IWinHttpRequest::GetResponseHeader-Methode
Die GetResponseHeader-Methode ruft die HTTP-Antwortheader ab.
Syntax
HRESULT GetResponseHeader(
[in] BSTR Header,
[out, retval] BSTR *Value
);
Parameter
-
Header [ In]
-
Gibt den Headernamen an, bei dem die Groß-/Kleinschreibung nicht beachtet wird.
-
Wert [ out, retval]
-
Empfängt die resultierenden Headerinformationen.
Rückgabewert
Der Rückgabewert ist S _ OK bei Erfolg oder andernfalls ein Fehlerwert.
Hinweise
Diese Methode gibt den Wert des Antwortheaders mit dem Namen in Header zurück. Beachten Sie, dass Automatisierungsclients, z. B. Skript, die Headerdaten als Rückgabewert des Funktionsaufrufs und nicht über einen Funktionsparameter erhalten. Rufen Sie diese Methode erst auf, nachdem die Send-Methode aufgerufen wurde.
Hinweis
Informationen 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 den Datumsheader aus der Antwort erhalten. Dieses Beispiel muss ü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()
{
// 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.
BSTR bstrName = SysAllocString(L"Date");
hr = pIWinHttpRequest->GetResponseHeader(bstrName,
&bstrResponse);
}
if (SUCCEEDED(hr))
{
// Print response to 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 den Datumsheader aus der Antwort erhalten.
// 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();
// Display the date header.
WScript.Echo( WinHttpReq.GetResponseHeader("Date"));
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 unter Windows XP und Windows 2000. |
| IDL |
|
| Bibliothek |
|
| DLL |
|