Método IWinHttpRequest::GetAllResponseHeaders
El método GetAllResponseHeaders recupera todos los encabezados de respuesta HTTP.
Sintaxis
HRESULT GetAllResponseHeaders(
[out, retval] BSTR *Headers
);
Parámetros
-
Encabezados [out, retval]
-
Recibe la información del encabezado resultante.
Valor devuelto
El valor devuelto se S_OK si se ejecuta correctamente o se produce un valor de error en caso contrario.
Comentarios
Este método devuelve todos los encabezados contenidos en la respuesta del servidor más reciente. Los encabezados individuales se delimitan mediante una combinación de retorno de carro y avance de línea (ASCII 13 y 10). La última entrada va seguida de dos delimitadores (13, 10, 13, 10). Invoque este método solo después de llamar al método Send .
Nota
Para Windows XP y Windows 2000, consulta la sección Requisitos en tiempo de ejecución de la página de inicio de WinHTTP.
Ejemplos
En el ejemplo siguiente se muestra cómo abrir una conexión HTTP, enviar una solicitud HTTP y obtener todos los encabezados de la respuesta. Este ejemplo se debe ejecutar desde un símbolo del sistema.
#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;
}
En el ejemplo de scripting siguiente se muestra cómo abrir una conexión HTTP, enviar una solicitud HTTP y obtener todos los encabezados de la respuesta.
// 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());
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible |
Windows XP, Windows 2000 Professional con SP3 [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2003, Windows 2000 Server con SP3 [solo aplicaciones de escritorio] |
Redistribuible |
WinHTTP 5.0 e Internet Explorer 5.01 o posterior en Windows XP y Windows 2000. |
IDL |
|
Biblioteca |
|
Archivo DLL |
|