Sample code for 30+ languages & platforms
Ruby

Using the FTP Session Log

See more FTP Examples

The Chilkat FTP component can keep a session log if the KeepSessionLog property is turned on. This is helpful in debugging problems. Chilkat support will usually ask for a session log when working to resolve your problem, because it contains a log of the exact commands sent to the FTP server, and the exact responses received.

Chilkat Ruby Downloads

Ruby
require 'chilkat'

success = false

# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

ftp = Chilkat::CkFtp2.new()

ftp.put_Hostname("ftp.example.com")
ftp.put_Username("login")
ftp.put_Password("password")

# Set the KeepSessionLog property in order to keep a session log.
# The session log will continuously grow in memory.  The
# ClearSessionLog method may be called to clear it.  The session
# logging may be turned on/off at any point.
ftp.put_KeepSessionLog(true)

# Connect and login to the FTP server.
success = ftp.Connect()
if (success != true)
    print ftp.lastErrorText() + "\n";
    exit
end

# Change to the remote directory where the existing file is located.
success = ftp.ChangeRemoteDir("junk")
if (success != true)
    print ftp.lastErrorText() + "\n";
    exit
end

# To clear the SessionLog at any point, call ClearSessionLog:
# call ftp.ClearSessionLog();

# Append moreHamlet.txt to hamlet.txt on the FTP server.
localFilename = "moreHamlet.txt"
remoteFilename = "hamlet.txt"

success = ftp.AppendFile(localFilename,remoteFilename)
if (success != true)
    print ftp.lastErrorText() + "\n";
    exit
end

success = ftp.Disconnect()

# Display the entire session log:
print ftp.sessionLog() + "\n";

print "File Appended!" + "\n";