HTTPSendRequestExW 函式 (wininet.h)
將指定的要求傳送至 HTTP 伺服器。
注意 需要傳送超出通常傳遞至 HttpSendRequestEx 之額外數據的呼叫端,可以改為呼叫 HttpSendRequest 來執行此動作。
語法
BOOL HttpSendRequestExW(
[in] HINTERNET hRequest,
[in] LPINTERNET_BUFFERSW lpBuffersIn,
[out] LPINTERNET_BUFFERSW lpBuffersOut,
[in] DWORD dwFlags,
[in] DWORD_PTR dwContext
);
參數
[in] hRequest
呼叫 HttpOpenRequest 函式所傳回的句柄。
[in] lpBuffersIn
選擇性。 INTERNET_BUFFERS 結構的指標。
[out] lpBuffersOut
保留的。 必須是 NULL。
[in] dwFlags
保留的。 必須為零。
[in] dwContext
如果已註冊狀態回呼函式,則為應用程式定義的內容值。
傳回值
如果函式成功,函式會傳回 TRUE。
如果函式失敗,則會傳回 FALSE。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
HttpSendRequestEx 會執行回應的傳送和接收。 這不允許應用程式在傳遞至 HttpSendRequestEx 的單一緩衝區之外傳送任何額外的數據。 需要傳送超出通常傳遞至 HttpSendRequestEx 之額外數據的呼叫端,可以改為呼叫 HttpSendRequest 來執行此動作。 呼叫 HttpSendRequestEx 之後,呼叫 InternetWriteFile 以傳送剩餘的數據。 最後,接聽 對 HttpEndRequest 的呼叫。
注意HttpSendRequestExA 函式代表要以 ISO-8859-1 字元傳送的數據,而非 ANSI 字元。 HttpSendRequestExW 函式代表要傳送為 ISO-8859-1 字元的數據,並轉換成 UTF-16LE 字元。 如此一來,當要加入的標頭可以包含非 ASCII 字元時,使用 HttpSendRequestExW 函式就絕對不安全。
相反地,應用程式可以使用 MultiByteToWideChar 和 WideCharToMultiByte 函式,並將 Codepage 參數設定為 28591,以在 ANSI 字元與 UTF-16LE 字元之間對應。
注意 WinINet 不支援伺服器實作。 此外,不應該從服務使用它。 對於伺服器實作或服務,請使用 Microsoft Windows HTTP Services (WinHTTP) 。
注意
wininet.h 標頭會將 HttpSendRequestEx 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | wininet.h |
程式庫 | Wininet.lib |
Dll | Wininet.dll |