C++
C++
Log In After ConnectOnly on an FTP Server
See more FTP Examples
Demonstrates the Chilkat Ftp2.LoginAfterConnectOnly method, which authenticates a control connection previously established by ConnectOnly. It takes no arguments, sends USER, PASS, and ACCT when required, then performs normal post-login initialization.
Background: This is the second half of the two-step connect. Beyond sending the credentials, it runs the same post-login setup
Connect would — for example issuing TYPE I and any auto-negotiated features — so the session ends up in the same ready state either way. The value of the split is entirely in what you can do in the gap between the two calls.Chilkat C++ Downloads
#include <CkFtp2.h>
void ChilkatSample(void)
{
bool success = false;
// Demonstrates the Ftp2.LoginAfterConnectOnly method, which authenticates a control connection
// previously established by ConnectOnly. It takes no arguments and sends USER, PASS, and (when
// required) ACCT, then performs normal post-login initialization.
CkFtp2 ftp;
ftp.put_Hostname("ftp.example.com");
ftp.put_Port(21);
// First connect without logging in.
success = ftp.ConnectOnly();
if (success == false) {
std::cout << ftp.lastErrorText() << "\r\n";
return;
}
// Set credentials (for example, after inspecting the greeting), then log in.
ftp.put_Username("myFtpLogin");
ftp.put_Password("myPassword");
success = ftp.LoginAfterConnectOnly();
if (success == false) {
std::cout << ftp.lastErrorText() << "\r\n";
return;
}
std::cout << "Logged in." << "\r\n";
success = ftp.Disconnect();
if (success == false) {
std::cout << ftp.lastErrorText() << "\r\n";
return;
}
}