Udostępnij za pośrednictwem


Pisanie klienckich aplikacji internetowych przy użyciu klas MFC WinInet

Podstawą każdej aplikacji klienckiej internetu jest sesja internetowa. MFC implementuje sesje internetowe jako obiekty klasy CInternetSession. Korzystając z tej klasy, można utworzyć jedną sesję internetową lub kilka równoczesnych sesji.

Aby komunikować się z serwerem, potrzebny jest obiekt CInternet Połączenie ion, a także CInternetSession. Element można utworzyć CInternetConnection przy użyciu CInternetSession::GetFtp Połączenie ion, CInternetSession::GetHttp Połączenie ion lub CInternetSession::GetGopher Połączenie ion. Każde z tych wywołań jest specyficzne dla typu protokołu. Te wywołania nie otwierają pliku na serwerze do odczytu lub zapisu. Jeśli zamierzasz odczytywać lub zapisywać dane, musisz otworzyć plik w osobnym kroku.

W przypadku większości sesji CInternetSession internetowych obiekt działa ręcznie z obiektem CInternetFile :

  • W przypadku sesji internetowej należy utworzyć wystąpienie CInternetSession.

  • Jeśli sesja internetowa odczytuje lub zapisuje dane, musisz utworzyć wystąpienie CInternetFile (lub jego podklasy, CHttpFile lub CGopherFile). Najprostszym sposobem odczytu danych jest wywołanie CInternetSession ::OpenURL. Ta funkcja analizuje uniwersalny lokalizator zasobów (url) dostarczony przez Ciebie, otwiera połączenie z serwerem określonym przez adres URL i zwraca obiekt tylko CInternetFile do odczytu. CInternetSession::OpenURL nie jest specyficzny dla jednego typu protokołu — to samo wywołanie działa dla dowolnego adresu URL PROTOKOŁU FTP, HTTP lub gopher. CInternetSession::OpenURL Nawet działa z plikami lokalnymi (zwraca wartość CStdioFile zamiast CInternetFile).

  • Jeśli sesja internetowa nie odczytuje ani nie zapisuje danych, ale wykonuje inne zadania, takie jak usuwanie pliku w katalogu FTP, może nie być konieczne utworzenie wystąpienia CInternetFileprogramu .

Istnieją dwa sposoby tworzenia CInternetFile obiektu:

  • Jeśli używasz CInternetSession::OpenURL metody do nawiązania połączenia z serwerem, wywołanie OpenURL metody zwraca wartość CStdioFile.

  • Jeśli używasz metody , lub, aby nawiązać połączenie z serweremCInternetFileCGopherFile, musisz wywołać CGopherConnection::OpenFileCFtpConnection::OpenFileodpowiednio , lub CHttpConnection::OpenRequest, aby zwrócić odpowiednio , lub CHttpFile.GetHttpConnection GetGopherConnectionCInternetSession::GetFtpConnection

Kroki implementowania aplikacji klienckiej internetowej różnią się w zależności od tego, czy tworzysz ogólnego klienta internetowego na OpenURL podstawie lub klienta specyficznego GetConnection dla protokołu przy użyciu jednej z funkcji.

Co chcesz dowiedzieć się więcej o

Zobacz też

Rozszerzenia internetowe Win32 (WinInet)
Klasy MFC do tworzenia klienckich aplikacji internetowych
Wymagania wstępne dotyczące klas klientów internetowych