Sample code for 30+ languages & platforms
Ruby

FTP Bandwidth Throttle for Downloads

See more FTP Examples

Demonstrates the Chilkat FTP2 download bandwidth throttling property : BandwidthThrottleDown.

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")

# To use FTP bandwidth throttling, set the BandwidthThrottleDown
# property to a maximum desired bytes/second:
# This example limits the download to 50K per second.
ftp.put_BandwidthThrottleDown(50000)

# The default data transfer mode is "Active" as opposed to "Passive".

# 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 file is located.
# This step is only necessary if the file is not in the root directory
# for the FTP account.
success = ftp.ChangeRemoteDir("junk")
if (success != true)
    print ftp.lastErrorText() + "\n";
    exit
end

# Download a file.
localFilename = "hamlet.xml"
remoteFilename = "hamlet.xml"

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

success = ftp.Disconnect()

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