Sample code for 30+ languages & platforms
PowerBuilder

SCP Download File

See more SCP Examples

Demonstrates how to download a file using the SCP protocol (Secure Copy Protocol over SSH).

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Ssh
string ls_Hostname
integer li_Port
oleobject loo_Scp
string ls_RemotePath
string ls_LocalPath

li_Success = 0

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

loo_Ssh = create oleobject
li_rc = loo_Ssh.ConnectToNewObject("Chilkat.Ssh")
if li_rc < 0 then
    destroy loo_Ssh
    MessageBox("Error","Connecting to COM object failed")
    return
end if

// Hostname may be an IP address or hostname:
ls_Hostname = "www.some-ssh-server.com"
li_Port = 22

// Connect to an SSH server:
li_Success = loo_Ssh.Connect(ls_Hostname,li_Port)
if li_Success <> 1 then
    Write-Debug loo_Ssh.LastErrorText
    destroy loo_Ssh
    return
end if

// Wait a max of 5 seconds when reading responses..
loo_Ssh.IdleTimeoutMs = 5000

// Authenticate using login/password:
li_Success = loo_Ssh.AuthenticatePw("myLogin","myPassword")
if li_Success <> 1 then
    Write-Debug loo_Ssh.LastErrorText
    destroy loo_Ssh
    return
end if

// Once the SSH object is connected and authenticated, we use it
// in our SCP object.
loo_Scp = create oleobject
li_rc = loo_Scp.ConnectToNewObject("Chilkat.Scp")

li_Success = loo_Scp.UseSsh(loo_Ssh)
if li_Success <> 1 then
    Write-Debug loo_Scp.LastErrorText
    destroy loo_Ssh
    destroy loo_Scp
    return
end if

ls_RemotePath = "test.txt"
ls_LocalPath = "/home/bob/test.txt"
li_Success = loo_Scp.DownloadFile(ls_RemotePath,ls_LocalPath)
if li_Success <> 1 then
    Write-Debug loo_Scp.LastErrorText
    destroy loo_Ssh
    destroy loo_Scp
    return
end if

Write-Debug "SCP download file success."

// Disconnect
loo_Ssh.Disconnect()


destroy loo_Ssh
destroy loo_Scp