IWinHttpRequest::StatusText property
The StatusText property retrieves the HTTP status text.
This property is read-only.
HRESULT get_StatusText(
[out, retval] BSTR *Status
);
StatusText = WinHttpRequest.StatusText
BSTR that receives the HTTP status text.
The return value is S_OK on success or an error value otherwise.
Retrieves the text portion of the server response line, making available the "user-friendly" equivalent to the numeric HTTP status code. The results of this property are valid only after the Send method has successfully completed.
Note
For Windows XP and Windows 2000, see the Run-Time Requirements section of the WinHTTP Start Page.
The following example shows how to open an HTTP connection, send an HTTP request, display the Status and StatusText, and read the response text. This example must be run from a command prompt.
#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;
}
The following scripting example shows how to open an HTTP connection, send an HTTP request, display the Status and StatusText, and read the response headers.
// 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());
Requirement | Value |
---|---|
Minimum supported client |
Windows XP, Windows 2000 Professional with SP3 [desktop apps only] |
Minimum supported server |
Windows Server 2003, Windows 2000 Server with SP3 [desktop apps only] |
Redistributable |
WinHTTP 5.0 and Internet Explorer 5.01 or later on Windows XP and Windows 2000. |
IDL |
|
Library |
|
DLL |
|