Compartilhar via


Método IXMLHTTPRequest2::Open (msxml6.h)

Inicializa uma solicitação IXMLHTTPRequest2 e especifica o método, a URL e as informações de autenticação da solicitação. Depois de chamar esse método, você deve chamar o método Send para enviar a solicitação e os dados, se houver, para o servidor.

Sintaxe

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
);

Parâmetros

[in] pwszMethod

O método HTTP usado para abrir a conexão, como GET ou POST. Para XMLHTTP, esse parâmetro não diferencia maiúsculas de minúsculas.

[in] pwszUrl

A URL solicitada. Isso deve ser uma URL absoluta, como "http://Myserver/Mypath/Myfile.asp".

[in, optional] pStatusCallback

Uma interface de retorno de chamada implementada pelo aplicativo que deve receber eventos de retorno de chamada.

Quando o Método Send é bem-sucedido, os métodos nessa interface são chamados para processar a resposta ou outros eventos.

[in, optional] pwszUserName

O nome do usuário para autenticação. Se esse parâmetro for nulo e o site exigir autenticação, as credenciais serão gerenciadas pelo Windows, incluindo a exibição de uma interface do usuário de logon, a menos que seja desabilitada pelo SetProperty.

[in, optional] pwszPassword

A senha para a autenticação. Esse parâmetro será ignorado se o parâmetro pwszUserName for Null ou ausente.

[in, optional] pwszProxyUserName

O nome do usuário para autenticação no servidor proxy. Se esse parâmetro for uma cadeia de caracteres nula ou vazia e o site exigir autenticação, as credenciais serão gerenciadas pelo Windows, incluindo a exibição de uma interface do usuário de logon, a menos que seja desabilitada pelo SetProperty.

[in, optional] pwszProxyPassword

A senha para autenticação no servidor proxy. Esse parâmetro será ignorado se o parâmetro pwszProxyUserName for Null ou ausente.

Retornar valor

Retornará S_OK se houver êxito.

Comentários

Embora esse método aceite credenciais passadas por meio do parâmetro , essas credenciais não são enviadas automaticamente ao servidor na primeira solicitação. Os parâmetros pwszUserName e pwszPassword não são enviados ao servidor, a menos que o servidor desafie o cliente para obter credenciais com uma resposta 401 – Não autorizada.

Exemplos

//
// 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);

Para obter os exemplos completos, consulte o exemplo GET da Solicitação HTTP XML 2 e o exemplo POST da Solicitação HTTP XML 2.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 8 [aplicativos da área de trabalho | Aplicativos UWP], MSXML 6.0 e posterior
Servidor mínimo com suporte Windows Server 2012 [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho msxml6.h

Confira também

IXMLHTTPRequest2

IXMLHTTPRequest2Callback Interface

Método Send