Udostępnij za pośrednictwem


CHttpFile::SendRequestEx

Wywołanie tej funkcji Członkowskich, aby wysłać żądanie do serwera 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 
);

Parametry

  • dwTotalLen
    Liczba bajtów wysyłanych w żądaniu.

  • dwFlags
    Flagi opisujące operacji.Wykaz odpowiednich flag, zobacz HttpSendRequestEx w Windows SDK*.*

  • dwContext
    Identyfikator kontekstu dla CHttpFile operacji.Aby uzyskać więcej informacji na temat tego parametru, zobacz uwagi.

  • lpBuffIn
    Wskaźnik, aby zainicjować INTERNET_BUFFERS , który opisuje bufor wejściowy używane dla operacji.

  • lpBuffOut
    Wskaźnik, aby zainicjować INTERNET_BUFFERS , który opisuje buforu wyjściowego używane dla operacji.

Wartość zwracana

Niezerowa, jeśli kończy się pomyślnie.Jeżeli połączenie nie powiedzie się, należy określić przyczyny awarii, sprawdzając thrown CInternetException obiektu.

Uwagi

Ta funkcja pozwala aplikacji na wysyłanie danych za pomocą zapisu i WriteString metody CInternetFile.Należy znać długość danych do wysyłania przed wywołaniem albo zastąpienie tej funkcji.Pierwszy override pozwala określić długość danych, którą chcesz wysłać.Drugi override akceptuje wskaźniki do INTERNET_BUFFERS struktur, które może służyć do buforu szczegółowo opisać.

Po zawartości pliku jest zapisywana, call EndRequest do zakończenia operacji.

Wartość domyślna dla dwContext jest wysyłane przez MFC do CHttpFile obiekt z CInternetSession utworzony obiekt CHttpFile obiektu.Po wywołaniu CInternetSession::OpenURL lub CHttpConnection do konstruowania CHttpFile obiektu, można zastąpić domyślny identyfikator kontekstu należy ustawić wartość wybrane.Identyfikator kontekstu jest zwracany do CInternetSession::OnStatusCallback zapewnienie stan obiektu, z którym jest identyfikowana.Zobacz artykuł pierwsze kroki Internet: WinInet uzyskać więcej informacji dotyczących identyfikatora kontekstu.

Wyjątki

Tej metody można zgłosić wyjątków typu CInternetException*.

Przykład

Ten fragment kodu wysyła ciąg zawartości do biblioteki DLL, o nazwie MFCISAPI.Biblioteka DLL serwera LOCALHOST.Chociaż w tym przykładzie użyto tylko jedno wywołanie WriteString, wysyłanie w blokach danych za pomocą wielu wywołań jest dopuszczalne.

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

Wymagania

Nagłówek: afxinet.h

Zobacz też

Informacje

Klasa CHttpFile

Wykres hierarchii

Klasa CInternetFile

CHttpFile::SendRequest