C++
C++
ConnectFailReason
See more FTP Examples
The ConnectFailReason property can be examined to determine the reason why the Connect method failed. The possible values are listed in the source code below:Chilkat C++ Downloads
#include <CkFtp2.h>
void ChilkatSample(void)
{
bool success = false;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkFtp2 ftp;
ftp.put_Hostname("ftp.example.com");
ftp.put_Username("login");
ftp.put_Password("password");
// Connect and login to the FTP server.
success = ftp.Connect();
if (success != true) {
// The possible failure reasons are:
// 0 = success
//
// Normal (non-TLS) sockets:
// 1 = empty hostname
// 2 = DNS lookup failed
// 3 = DNS timeout
// 4 = Aborted by application.
// 5 = Internal failure.
// 6 = Connect Timed Out
// 7 = Connect Rejected (or failed for some other reason)
//
// SSL/TLS:
// 100 = TLS internal error.
// 101 = Failed to send client hello.
// 102 = Unexpected handshake message.
// 103 = Failed to read server hello.
// 104 = No server certificate.
// 105 = Unexpected TLS protocol version.
// 106 = Server certificate verify failed (the server certificate is expired or the cert's signature verification failed).
// 107 = Unacceptable TLS protocol version.
// 109 = Failed to read handshake messages.
// 110 = Failed to send client certificate handshake message.
// 111 = Failed to send client key exchange handshake message.
// 112 = Client certificate's private key not accessible.
// 113 = Failed to send client cert verify handshake message.
// 114 = Failed to send change cipher spec handshake message.
// 115 = Failed to send finished handshake message.
// 116 = Server's Finished message is invalid.
//
// FTP:
// 200 = Connected, but failed to receive greeting from FTP server.
// 201 = Failed to do AUTH TLS or AUTH SSL.
// Protocol/Component:
// 300 = asynch op in progress
// 301 = login failure.
int failReason = ftp.get_ConnectFailReason();
std::cout << "connect fail reason = " << failReason << "\r\n";
std::cout << ftp.lastErrorText() << "\r\n";
return;
}
// ..
}