Api и Ixmlhttprequest

  • Автор темы berezh
  • Дата начала
Статус
Закрыто для дальнейших ответов.
B

berezh

#1
Привет!
У меня такая проблема:
Я установил апач на свой комп. Набираю на браузере http://localhost/data.xml, все работает, выводится текст.
Хочу скачать файл с этого пути, с помощью объекта IXMLHttpRequest, неполучается.
Вот пример data.xml:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<data>
Hello this XML file whith JavaScript.
</data>
</root>
Пример проги на API:

#include "stdio.h"

#include "comutil.h"
#include "atlbase.h"
#include <msxml.h>

#import "msxml3.dll"

void main()
{
CoInitialize(NULL);

HRESULT hRes;
IXMLHttpRequest * pIXMLHTTPRequest;
MSXML2::IXMLDOMDocument * pXMLDoc;
MSXML2::IXMLDOMElement *pElem;
try
{
hRes = ::CoCreateInstance(CLSID_XMLHTTPRequest, NULL,
CLSCTX_ALL,
IID_IXMLHttpRequest,
(LPVOID*)&pIXMLHTTPRequest);

hRes=pIXMLHTTPRequest->open(_bstr_t(_T("GET")),
_bstr_t(_T("http://localhost/data.xml")),
_variant_t(VARIANT_FALSE),
_variant_t(_T("")),
_variant_t(_T("")));

hRes=pIXMLHTTPRequest->setRequestHeader(_T("Content-Type"),
_T("application/x-www-form-urlencoded"));
pIXMLHTTPRequest->get_status(&lStatus);
//action=0
hRes=pIXMLHTTPRequest->send(_variant_t(_T("")));
pIXMLHTTPRequest->get_status(&lStatus);

hRes=pIXMLHTTPRequest->get_responseText(&bstrText);
pIXMLHTTPRequest->get_status(&lStatus);
hRes=pIXMLHTTPRequest->get_responseXML((IDispatch**)&pXMLDoc);
pIXMLHTTPRequest->get_status(&lStatus);
pXMLDoc->get_nodeName(&bstrName);
pIXMLHTTPRequest->get_status(&lStatus);

//hRes=pXMLDoc->save(_variant_t(_T("exam.xml")));
}
catch(...)
{
printf("error!");
}

CoUninitialize();

//getch();
}

Извените вот пример проги:
#include "stdio.h"

#include "comutil.h"
#include "atlbase.h"
#include <msxml.h>

#import "msxml3.dll"

void main()
{
CoInitialize(NULL);

HRESULT hRes;
IXMLHttpRequest * pIXMLHTTPRequest;
MSXML2::IXMLDOMDocument * pXMLDoc;

try
{
hRes = ::CoCreateInstance(CLSID_XMLHTTPRequest, NULL,
CLSCTX_ALL,
IID_IXMLHttpRequest,
(LPVOID*)&pIXMLHTTPRequest);

hRes=pIXMLHTTPRequest->open(_bstr_t(_T("GET")),
_bstr_t(_T("http://localhost/data.xml")),
_variant_t(VARIANT_FALSE),
_variant_t(_T("")),
_variant_t(_T("")));

hRes=pIXMLHTTPRequest->setRequestHeader(_T("Content-Type"),_T("application/x-www-form-urlencoded"));

hRes=pIXMLHTTPRequest->send(_variant_t(_T("")));

hRes=pIXMLHTTPRequest->get_responseXML((IDispatch**)&pXMLDoc);

hRes=pXMLDoc->save(_variant_t(_T("exam.xml")));
}
catch(...)
{
printf("error!");
}

CoUninitialize();
}

Причем hRes после всех операций равен S_OK.
Помогите разобратся, в чем проблема? :(
 
Статус
Закрыто для дальнейших ответов.