0

我想知道如何使用 c++ Metro 风格应用程序连接 http url 以从站点下载 xml 文件。

4

1 回答 1

0

您可以使用IXMLHTTPRequest2

// First create the interface objects required for this operation 
// as well as the callback that indicates request completion. 
// The dwStatus variable is also defined, and is later set with a 
// value indicating request completion.
DWORD dwStatus = 0;
ComPtr<IXMLHTTPRequest2> spXHR;
ComPtr<CXMLHttpRequest2Callback> spMyXhrCallback;
ComPtr<IXMLHTTPRequest2Callback> spXhrCallback;

// Create an object of the IID_IXMLHTTPRequest2 class.
CoCreateInstance(CLSID_FreeThreadedXMLHTTP60,
                 NULL,
                 CLSCTX_INPROC_SERVER,
                 IID_PPV_ARGS(&spXHR));

// Create and initialize IXMLHTTPRequest2Callback
MakeAndInitialize<CXMLHttpRequest2Callback>(&spMyXhrCallback);

spMyXhrCallback.As(&spXhrCallback);


// Prepare the GET request and send it to the server.
spXHR->Open(L"GET",       // Method.
   pcwszUrl,              // Url.
   spXhrCallback.Get(),   // Callback.
   NULL,                  // Username.
   NULL,                  // Password.
   NULL,                  // Proxy username.
   NULL);                 // Proxy password.

spXHR->Send(NULL, 0);


// Wait for the completion of the request.
spMyXhrCallback->WaitForComplete(&dwStatus);
于 2012-07-18T18:29:19.187 回答