共用方式為


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 方法,例如 GETPOST。 對於 XMLHTTP,這個參數不區分大小寫。

[in] pwszUrl

要求的 URL。 這必須是絕對 URL,例如 “http://Myserver/Mypath/Myfile.asp"。

[in, optional] pStatusCallback

應用程式所實作的回呼介面,用來接收回呼事件。

Send 方法 成功時,會呼叫這個介面上的方法來處理回應或其他事件。

[in, optional] pwszUserName

用於驗證的使用者名稱。 如果此參數是 Null,而且網站需要驗證,除非 SetProperty 停用,否則認證會由 Windows 管理,包括顯示登入 UI。

[in, optional] pwszPassword

驗證的密碼。 如果 pwszUserName 參數為 Null 或遺失,則會忽略此參數。

[in, optional] pwszProxyUserName

Proxy 伺服器上驗證的用戶名稱。 如果此參數是 Null 或空字串,而且網站需要驗證,除非 SetProperty 停用,否則認證會由 Windows 管理,包括顯示登入 UI。

[in, optional] pwszProxyPassword

Proxy 伺服器上驗證的密碼。 如果 pwszProxyUserName 參數為 Null 或遺失,則會忽略此參數。

傳回值

傳回成功 時S_OK

備註

雖然此方法接受透過 參數傳遞的認證,但這些認證不會在第一個要求時自動傳送到伺服器。 除非伺服器挑戰用戶端使用 401 - 未經授權回應的認證,否則 pwszUserNamepwszPassword 參數不會傳送至伺服器。

範例

//
// 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
標頭 msxml6.h

另請參閱

IXMLHTTPRequest2

IXMLHTTPRequest2Callback 介面

Send 方法