Sdílet prostřednictvím


CHttpFile::SendRequestEx

Volání funkce tohoto člena odeslat požadavek na HTTP server.

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 
);

Parametry

  • dwTotalLen
    Počet bajtů odeslaných v požadavku.

  • dwFlags
    Příznaky popisující operace.Seznam příslušných příznaků, viz HttpSendRequestEx v .

  • dwContext
    Identifikátor kontextu CHttpFile operace.Další informace o tomto parametru naleznete v části poznámky.

  • lpBuffIn
    Ukazatel inicializována INTERNET_BUFFERS , který popisuje vstupní vyrovnávací paměť pro operaci.

  • lpBuffOut
    Ukazatel inicializována INTERNET_BUFFERS , který popisuje výstupní vyrovnávací paměť pro operaci.

Vrácená hodnota

Nenulová úspěšné.Pokud selže volání, zjistit příčinu chyby na základě thrown CInternetException objektu.

Poznámky

Tato funkce umožňuje odesílat data pomocí aplikace psaní a WriteString metody CInternetFile .Délka dat odeslat před voláním buď přepsat tuto funkci, musíte znát.První přepsat umožňuje určit délku dat, které chcete odeslat.Druhý přepsat přijímá ukazatele na INTERNET_BUFFERS struktury, které lze použít pro vyrovnávací paměti velmi podrobný popis.

Volání po obsahu je zapsán do souboru, EndRequest ukončení operace.

Výchozí hodnota pro dwContext zasílá MFC k CHttpFile z objektu CInternetSession objekt vytvořený CHttpFile objektu.Při volání CInternetSession::OpenURL nebo CHttpConnection sestavení CHttpFile objektu, můžete přepsat výchozí nastavit identifikátor kontextu hodnotu podle vaší volby.Identifikátor kontextu se vrátí do CInternetSession::OnStatusCallback poskytnout stav objektu, se kterým je určen.Naleznete v článku první kroky Internet: WinInet Další informace o identifikátoru kontextu.

Výjimky

Tuto metodu lze vyvolávají výjimky typu CInternetException* .

Příklad

Tento fragment kódu odešle obsah řetězce knihovny DLL s názvem MFCISAPI.DLL na LOCALHOST server.Při tomto příkladu se používá pouze k jednomu volání WriteString , odesílat data v blocích pomocí více je přijatelná.

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();

Požadavky

Záhlaví: afxinet.h

Viz také

Referenční dokumentace

Třída CHttpFile

Diagram hierarchie

Třída CInternetFile

CHttpFile::SendRequest