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::OpenURLCHttpConnectionCHttpFile 建構物件時,您可以覆寫預設設定內容識別項加入至您所選取的值。內容識別項在其所識別的物件會傳回至 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

請參閱

參考

CHttpFile 類別

階層架構圖

CInternetFile 類別

CHttpFile::SendRequest