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