Sample code for 30+ languages & platforms
PowerBuilder

FTP through HTTP Tunnel (FTP over HTTP Proxy)

See more FTP Examples

Note: This example requires Chilkat v9.5.0.51 or greater.

FTP through an HTTP tunnel (via an HTTP proxy server that supports HTTP tunneling).

Chilkat PowerBuilder Downloads

PowerBuilder
integer li_rc
integer li_Success
oleobject loo_Ftp
string ls_LocalFilename
string ls_RemoteFilename

li_Success = 0

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

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

loo_Ftp.Hostname = "ftp.example.com"
loo_Ftp.Username = "login"
loo_Ftp.Password = "password"

// Set the HTTP proxy server properties.
// This is to connect via HTTP/1.1 using CONNECT method
loo_Ftp.HttpProxyHostname = "192.168.1.127"
loo_Ftp.HttpProxyPort = 8080

// If the proxy server requires authentication...
loo_Ftp.HttpProxyUsername = "myProxyUsername"
loo_Ftp.HttpProxyPassword = "myProxyPassword"

// FTP over an HTTP proxy requires that FTP Passive mode be used
// for data transfers. It is not possible to use non-passive (active) mode
// for FTP over HTTP.
loo_Ftp.Passive = 1

// Connect and login to the FTP server.
li_Success = loo_Ftp.Connect()
if li_Success <> 1 then
    Write-Debug loo_Ftp.LastErrorText
    destroy loo_Ftp
    return
end if

// Change to the remote directory where the file will be uploaded.
li_Success = loo_Ftp.ChangeRemoteDir("junk")
if li_Success <> 1 then
    Write-Debug loo_Ftp.LastErrorText
    destroy loo_Ftp
    return
end if

// Upload a file.
ls_LocalFilename = "c:/temp/hamlet.xml"
ls_RemoteFilename = "hamlet.xml"

li_Success = loo_Ftp.PutFile(ls_LocalFilename,ls_RemoteFilename)
if li_Success <> 1 then
    Write-Debug loo_Ftp.LastErrorText
    destroy loo_Ftp
    return
end if

li_Success = loo_Ftp.Disconnect()

Write-Debug "File Uploaded!"


destroy loo_Ftp