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 tylkoCInternetFile
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
zamiastCInternetFile
).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
CInternetFile
programu .
Istnieją dwa sposoby tworzenia CInternetFile
obiektu:
Jeśli używasz
CInternetSession::OpenURL
metody do nawiązania połączenia z serwerem, wywołanieOpenURL
metody zwraca wartośćCStdioFile
.Jeśli używasz metody , lub, aby nawiązać połączenie z serwerem
CInternetFile
CGopherFile
, musisz wywołaćCGopherConnection::OpenFile
CFtpConnection::OpenFile
odpowiednio , lubCHttpConnection::OpenRequest
, aby zwrócić odpowiednio , lubCHttpFile
.GetHttpConnection
GetGopherConnection
CInternetSession::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