CHttpFile::SendRequestEx
呼叫此成員函式將要求傳送至 HTTP 伺服器。
BOOL SendRequestEx(
DWORD dwTotalLen,
DWORD dwFlags = HSR_INITIATE,
DWORD_PTR dwContext = 1
);
BOOL SendRequestEx(
LPINTERNET_BUFFERS lpBuffIn,
LPINTERNET_BUFFERS lpBuffOut,
DWORD dwFlags = HSR_INITIATE,
DWORD_PTR dwContext = 1
);
參數
dwTotalLen
在要求要傳送的位元組數目。dwFlags
描述作業的旗標。 如需適當旗標的清單,請參閱 Windows SDK的 HttpSendRequestEx。dwContext
CHttpFile 作業的內容識別項。 請參閱"備註"有關這個參數的詳細資訊。lpBuffIn
描述輸入緩衝區給初始化的 INTERNET_BUFFERS 的指標作業所使用的。lpBuffOut
描述輸出緩衝區給初始化的 INTERNET_BUFFERS 的指標作業所使用的。
傳回值
如果不是零,則成功。 如果呼叫失敗,請先檢查時所擲回的 CInternetException 物件判斷失敗的原因。
備註
這個函式可以讓您的應用程式傳送資料使用 寫入 和 CInternetFileWriteString 方法。 您必須知道資料的長度 (以呼叫這個函式任一個覆寫之前傳送。 第一個覆寫可用來指定要傳送資料的長度。 第二個覆寫接受指標 INTERNET_BUFFERS 結構,在多數的詳細資料來描述緩衝區。
在內容寫入檔案後,請呼叫 EndRequest 結束作業。
dwContext 的預設值由 MFC 傳送至 CHttpFile 從建立物件的 CInternetSession 物件的 CHttpFile 物件。 當您呼叫 CInternetSession::OpenURL 或 CHttpConnectionCHttpFile 建構物件時,您可以覆寫預設設定內容識別項加入至您所選取的值。 內容識別項在其所識別的物件會傳回至 CInternetSession::OnStatusCallback 提供狀態。 請參閱文件 網際網路第一個步驟:WinInet 有關內容識別項的詳細資訊。
例外狀況
這個方法會擲回型別 **CInternetException***的例外狀況。
範例
這個程式碼片段會傳送字串的內容至 LOCALHOST 伺服器的 DLL 名稱 MFCISAPI.DLL。 在這個範例只使用一個呼叫 WriteString時,使用多次呼叫來傳送區塊中的資料是可接受的。
CString strData = _T("Some very long data to be POSTed here!");
pServer = session.GetHttpConnection(_T("localhost"));
pFile = pServer->OpenRequest(CHttpConnection::HTTP_VERB_POST,
_T("/MFCISAPI/MFCISAPI.dll?"));
pFile->SendRequestEx(strData.GetLength());
pFile->WriteString(strData);
pFile->EndRequest();
需求
Header: afxinet.h