Properti IWinHttpRequest::StatusText
Properti StatusText mengambil teks status HTTP.
Properti ini bersifat hanya baca.
Sintaks
HRESULT get_StatusText(
[out, retval] BSTR *Status
);
StatusText = WinHttpRequest.StatusText
Nilai properti
BSTR yang menerima teks status HTTP.
Kode kesalahan
Nilai yang dikembalikan S_OK pada keberhasilan atau nilai kesalahan jika tidak.
Keterangan
Mengambil bagian teks dari baris respons server, membuat tersedia "ramah pengguna" yang setara dengan kode status HTTP numerik. Hasil properti ini hanya valid setelah metode Kirim berhasil diselesaikan.
Catatan
Untuk Windows XP dan Windows 2000, lihat bagian Persyaratan Run-Time di Halaman Mulai WinHTTP.
Contoh
Contoh berikut menunjukkan cara membuka koneksi HTTP, mengirim permintaan HTTP, menampilkan Status dan StatusText, dan membaca teks respons. Contoh ini harus dijalankan dari prompt perintah.
#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;
}
Contoh skrip berikut menunjukkan cara membuka koneksi HTTP, mengirim permintaan HTTP, menampilkan Status dan StatusText, dan membaca header respons.
// 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());
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung |
Windows XP, Windows 2000 Professional dengan SP3 [hanya aplikasi desktop] |
Server minimum yang didukung |
Windows Server 2003, Windows 2000 Server dengan SP3 [hanya aplikasi desktop] |
Redistribusi |
WinHTTP 5.0 dan Internet Explorer 5.01 atau yang lebih baru pada Windows XP dan Windows 2000. |
IDL |
|
Pustaka |
|
DLL |
|