IWinHttpRequest :: StatusText, propriété

La propriété StatusText récupère le texte d’État http.

Cette propriété est en lecture seule.

Syntaxe

HRESULT get_StatusText(
  [out, retval] BSTR *Status
);

StatusText = WinHttpRequest.StatusText

Valeur de la propriété

BSTR qui reçoit le texte d’État http.

Codes d’erreur

La valeur de retour est S _ OK en cas de réussite ou une valeur d’erreur dans le cas contraire.

Remarques

Récupère la partie de texte de la ligne de réponse du serveur, ce qui rend disponible l’équivalent « convivial » du code d’état HTTP numérique. Les résultats de cette propriété ne sont valides qu’une fois que la méthode Send s’est terminée avec succès.

Notes

pour Windows XP et Windows 2000, consultez la section configuration requise pour l’exécution de la Page de démarrage de WinHTTP.

Exemples

L’exemple suivant montre comment ouvrir une connexion HTTP, envoyer une requête HTTP, afficher l' État et StatusText, et lire le texte de la réponse. Cet exemple doit être exécuté à partir d’une invite de commandes.

#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;
    LONG            lStatus = 0;
    BSTR            bstrStatusText = NULL;

    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))
    {    // Send Request.
        hr = pIWinHttpRequest->get_Status(&lStatus);
        hr = pIWinHttpRequest->get_StatusText(&bstrStatusText);
    }
    if (SUCCEEDED(hr))
    {    // Get Response text.
        hr = pIWinHttpRequest->GetAllResponseHeaders(&bstrResponse);
    }
    if (SUCCEEDED(hr))
    {    // Print response to console.
        wprintf(L"%s\n\n", bstrResponse);
        wprintf(L"%u - %s\n\n", lStatus, bstrStatusText);
    }

    // Release memory.
    if (pIWinHttpRequest)
        pIWinHttpRequest->Release();
    if (bstrStatusText)
        SysFreeString(bstrStatusText);
    if (bstrResponse)
        SysFreeString(bstrResponse);

    CoUninitialize();
    return 0;
}

L’exemple de script suivant montre comment ouvrir une connexion HTTP, envoyer une requête HTTP, afficher l' État et StatusText, et lire les en-têtes de réponse.

// 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 status.
WScript.Echo( WinHttpReq.Status + " - " + WinHttpReq.StatusText);

// Display the date header.
WScript.Echo( WinHttpReq.GetAllResponseHeaders());

Configuration requise

Condition requise Valeur
Client minimal pris en charge
Windows XP, Windows 2000 Professional avec les [ applications de bureau SP3 uniquement]
Serveur minimal pris en charge
Windows server 2003, Windows 2000 server avec des [ applications de bureau SP3 uniquement]
Composant redistribuable
WinHTTP 5,0 et Internet Explorer 5,01 ou version ultérieure sur Windows XP et Windows 2000.
MIDL
HttpRequest. idl
Bibliothèque
WinHTTP. lib
DLL
Winhttp.dll

Voir aussi

IWinHttpRequest

WinHttpRequest

Statut

Versions de WinHTTP