Sample code for 30+ languages & platforms
Xbase++

FTP Bandwidth Throttle for Downloads

See more FTP Examples

Demonstrates the Chilkat FTP2 download bandwidth throttling property : BandwidthThrottleDown.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oFtp
LOCAL cLocalFilename
LOCAL cRemoteFilename

nSuccess := 0

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

oFtp := CreateObject("Chilkat.Ftp2")

oFtp:Hostname := "ftp.example.com"
oFtp:Username := "login"
oFtp: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.
oFtp:BandwidthThrottleDown := 50000

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

//  Connect and login to the FTP server.
nSuccess := oFtp:Connect()
IF (nSuccess != 1)
    ? oFtp:LastErrorText
    oFtp:destroy()
    RETURN
ENDIF

//  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.
nSuccess := oFtp:ChangeRemoteDir("junk")
IF (nSuccess != 1)
    ? oFtp:LastErrorText
    oFtp:destroy()
    RETURN
ENDIF

//  Download a file.
cLocalFilename := "hamlet.xml"
cRemoteFilename := "hamlet.xml"

nSuccess := oFtp:GetFile(cRemoteFilename, cLocalFilename)
IF (nSuccess != 1)
    ? oFtp:LastErrorText
    oFtp:destroy()
    RETURN
ENDIF

nSuccess := oFtp:Disconnect()

? "File Downloaded!"

oFtp:destroy()