A typical FTP client application creates a CInternetSession and a CFtpConnection object. Note that these MFC WinInet classes do not actually control the proxy type settings; IIS does.
Also, see these Knowledge Base articles:
-
HOWTO: FTP with CERN-Based Proxy Using WinInet API (Article ID: Q166961)
-
SAMPLE: FTP with CERN-Based Password Protected Proxy (Article ID: Q216214)
-
Internet Services Manager Fails to Show Installed Proxy Services (Article ID: Q216802)
The following table shows the steps you might perform in a typical FTP client application.
| Your goal | Actions you take | Effects |
|---|---|---|
| Begin an FTP session. | Create a CInternetSession object. | Initializes WinInet and connects to server. |
| Connect to an FTP server. | Returns a CFtpConnection object. | |
| Change to a new FTP directory on the server. | Changes the directory you are currently connected to on the server. | |
| Find the first file in the FTP directory. | Finds the first file. Returns FALSE if no files are found. | |
| Find the next file in the FTP directory. | Finds the next file. Returns FALSE if the file is not found. | |
| Open the file found by FindFile or FindNextFile for reading or writing. | Use CFtpConnection::OpenFile, using the file name returned by FindFile or FindNextFile. | Opens the file on the server for reading or writing. Returns a CInternetFile object. |
| Read from or write to the file. | Reads or writes the specified number of bytes, using a buffer you supply. | |
| Handle exceptions. | Use the CInternetException class. | Handles all common Internet exception types. |
| End the FTP session. | Dispose of the CInternetSession object. | Automatically cleans up open file handles and connections. |