Поделиться через


Метод IXMLHTTPRequest2::Open (msxml6.h)

Инициализирует запрос IXMLHTTPRequest2 и задает метод, URL-адрес и сведения о проверке подлинности для запроса. После вызова этого метода необходимо вызвать метод Send , чтобы отправить запрос и данные , если таковые есть, на сервер.

Синтаксис

HRESULT Open(
  [in]           const WCHAR              *pwszMethod,
  [in]           const WCHAR              *pwszUrl,
  [in, optional] IXMLHTTPRequest2Callback *pStatusCallback,
  [in, optional] const WCHAR              *pwszUserName,
  [in, optional] const WCHAR              *pwszPassword,
  [in, optional] const WCHAR              *pwszProxyUserName,
  [in, optional] const WCHAR              *pwszProxyPassword
);

Параметры

[in] pwszMethod

Метод HTTP, используемый для открытия подключения, например GET или POST. В XMLHTTP для этого параметра не учитывается регистр.

[in] pwszUrl

Запрошенный URL-адрес. Это должен быть абсолютный URL-адрес, например "http://Myserver/Mypath/Myfile.asp"".

[in, optional] pStatusCallback

Интерфейс обратного вызова, реализованный приложением для получения событий обратного вызова.

При успешном выполнении метода Send методы в этом интерфейсе вызываются для обработки ответа или других событий.

[in, optional] pwszUserName

Имя пользователя для проверки подлинности. Если этот параметр имеет значение NULL и для сайта требуется проверка подлинности, windows будет управлять учетными данными, включая отображение пользовательского интерфейса входа, если только они не отключены с помощью SetProperty.

[in, optional] pwszPassword

Пароль для проверки подлинности. Этот параметр игнорируется, если параметр pwszUserName имеет значение Null или отсутствует.

[in, optional] pwszProxyUserName

Имя пользователя для проверки подлинности на прокси-сервере. Если этот параметр имеет значение NULL или пустую строку и сайт требует проверки подлинности, windows будет управлять учетными данными, включая отображение пользовательского интерфейса входа, если только не отключено с помощью SetProperty.

[in, optional] pwszProxyPassword

Пароль для проверки подлинности на прокси-сервере. Этот параметр игнорируется, если параметр pwszProxyUserName имеет значение Null или отсутствует.

Возвращаемое значение

Возвращает S_OK при успешном выполнении.

Комментарии

Хотя этот метод принимает учетные данные, передаваемые через параметр, эти учетные данные не отправляются на сервер автоматически при первом запросе. Параметры pwszUserName и pwszPassword не отправляются на сервер, если сервер не запрашивает у клиента учетные данные с ответом 401 - Unauthorized.

Примеры

//
// Create and initialize an IXMLHTTPRequest2 object
//
hr = CoCreateInstance(CLSID_FreeThreadedXMLHTTP60,
                      NULL,
                      CLSCTX_INPROC_SERVER,
                      IID_PPV_ARGS(&spXHR));

//
//Create and initialize an IXMLHTTPRequest2Callback object
//
hr = MakeAndInitialize<CXMLHttpRequest2Callback>(&spXhrCallback);

hr = spXHR->Open(L"GET",              // Method.
                 pcwszUrl,            // Url.
                 spXhrCallback.Get(), // Callback.
                 NULL,                // Username.
                 NULL,                // Password.
                 NULL,                // Proxy username.
                 NULL);               // Proxy password.

//
//Send the GET request
//
hr = spXHR->Send(NULL, 0);

hr = spXhrCallback->WaitForComplete(&dwStatus);

Полные примеры см. в примерах XML HTTP-запроса 2 GET и XML HTTP-запроса 2 POST.

Требования

Требование Значение
Минимальная версия клиента Windows 8 [классические приложения | Приложения UWP],MSXML 6.0 и более поздних версий
Минимальная версия сервера Windows Server 2012 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header msxml6.h

См. также раздел

IXMLHTTPRequest2

Интерфейс IXMLHTTPRequest2Callback

Метод send