Sample code for 30+ languages & platforms
Xbase++

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

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

//  If the proxy server requires authentication...
oFtp:HttpProxyUsername := "myProxyUsername"
oFtp: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.
oFtp:Passive := 1

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

//  Upload a file.
cLocalFilename := "c:/temp/hamlet.xml"
cRemoteFilename := "hamlet.xml"

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

nSuccess := oFtp:Disconnect()

? "File Uploaded!"

oFtp:destroy()