网上大多如微软示例使用的是
#import “msxml6.dll”
using namespace MSXML2;
如下示例并不多见,故查找艰难,以记于此,示于人。
#include <iostream>
#include <atlbase.h>
#include <comdef.h>
#include <msxml6.h>
#pragma comment(lib,"msxml6.lib")
using namespace std;
int main()
{
CoInitialize(NULL);
HRESULT hr;
CComPtr<IXMLHTTPRequest> request;
hr = request.CoCreateInstance(CLSID_XMLHTTP60);
hr = request->open(
_bstr_t("GET"),
_bstr_t("http://192.168.1.77:49152/TxMediaRenderer_desc.xml"),
_variant_t(VARIANT_FALSE),
_variant_t(),
_variant_t());
hr = request->send(_variant_t());
long status;
hr = request->get_status(&status);
BSTR bstrText;
request->get_responseText(&bstrText);
cout << _com_util::ConvertBSTRToString(bstrText) << endl;
SysFreeString(bstrText);
request.Detach();
CoUninitialize();
system("pause");
return 0;
}
// load image data (if url points to an image)
//VARIANT responseVariant;
//hr = request->get_responseStream(&responseVariant);
//IStream* stream = (IStream*)responseVariant.punkVal;
//CImage image = new CImage();
//image->Load(stream);
//stream->Release();
参考信息来源:https://stackoverflow.com/questions/2775791/c-windows-http