Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die Status-Eigenschaft ruft den HTTP-status Code aus der letzten Antwort ab.
Diese Eigenschaft ist schreibgeschützt.
Syntax
HRESULT get_Status(
[out, retval] long *Status
);
Status = WinHttpRequest.Status
Eigenschaftswert
Ein Wert vom Typ long, der den zurückgegebenen status Code empfängt.
Fehlercodes
Der Rückgabewert wird bei Erfolg S_OK oder andernfalls ein Fehlerwert.
Bemerkungen
Die Ergebnisse dieser Eigenschaft sind erst gültig, nachdem die Send-Methode erfolgreich abgeschlossen wurde. Eine Liste der status Codes finden Sie unter HTTP-Statuscodes.
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, status und StatusText anzeigen und die Antwortheader lesen. 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;
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;
}
Im folgenden Skriptbeispiel wird gezeigt, wie Sie eine HTTP-Verbindung öffnen, eine HTTP-Anforderung senden, den Status und StatusText anzeigen und den Antworttext lesen.
// 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());
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) |
Windows XP, Windows 2000 Professional mit SP3 [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) |
Windows Server 2003, Windows 2000 Server mit SP3 [nur Desktop-Apps] |
Verteilbare Komponente |
WinHTTP 5.0 und Internet Explorer 5.01 oder höher unter Windows XP und Windows 2000. |
IDL |
|
Bibliothek |
|
DLL |
|