Ruby
Ruby
SFTP Download to Local Filesystem
See more SFTP Examples
Demonstrates how to download a file from an SSH server to the local filesystem. There are no limitations on file size, and the file is streamed directly to the local filesystem.Chilkat Ruby Downloads
require 'chilkat'
success = false
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
sftp = Chilkat::CkSFtp.new()
# Set some timeouts, in milliseconds:
sftp.put_ConnectTimeoutMs(5000)
sftp.put_IdleTimeoutMs(10000)
# Connect to the SSH server.
# The standard SSH port = 22
# The hostname may be a hostname or IP address.
hostname = "sftp.example.com"
port = 22
success = sftp.Connect(hostname,port)
if (success != true)
print sftp.lastErrorText() + "\n";
exit
end
# Authenticate with the SSH server. Chilkat SFTP supports
# both password-based authenication as well as public-key
# authentication. This example uses password authenication.
success = sftp.AuthenticatePw("myLogin","myPassword")
if (success != true)
print sftp.lastErrorText() + "\n";
exit
end
# After authenticating, the SFTP subsystem must be initialized:
success = sftp.InitializeSftp()
if (success != true)
print sftp.lastErrorText() + "\n";
exit
end
# Open a file on the server:
handle = sftp.openFile("hamlet.xml","readOnly","openExisting")
if (sftp.get_LastMethodSuccess() != true)
print sftp.lastErrorText() + "\n";
exit
end
# Download the file:
success = sftp.DownloadFile(handle,"c:/temp/hamlet.xml")
if (success != true)
print sftp.lastErrorText() + "\n";
exit
end
# Close the file.
success = sftp.CloseHandle(handle)
if (success != true)
print sftp.lastErrorText() + "\n";
exit
end
print "Success." + "\n";