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,而且網站需要驗證,除非 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 - 未經授權回應的認證,否則 pwszUserName 和 pwszPassword 參數不會傳送至伺服器。
範例
//
// 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 |