Steps in a Typical FTP Client Application
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at Steps in a Typical FTP Client Application.
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. | Use CInternetSession::GetFtpConnection. | Returns a CFtpConnection object. |
Change to a new FTP directory on the server. | Use CFtpConnection::SetCurrentDirectory. | Changes the directory you are currently connected to on the server. |
Find the first file in the FTP directory. | Use CFtpFileFind::FindFile. | Finds the first file. Returns FALSE if no files are found. |
Find the next file in the FTP directory. | Use CFtpFileFind::FindNextFile. | 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. | Use CInternetFile::Read or CInternetFile::Write. | 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. |
See Also
Win32 Internet Extensions (WinInet)
Prerequisites for Internet Client Classes
Writing an Internet Client Application Using MFC WinInet Classes