Sample code for 30+ languages & platforms
PureBasic

FTPS / Implicit SSL

See more FTP Examples

Demonstrates how to connect using implicit SSL on port 990. The FTP component connects using SSL on port 990, which is the de-facto standard FTP SSL port. Not all FTP servers support implicit SSL. An alternative is to use AUTH SSL (also called AUTH TLS).

Chilkat PureBasic Downloads

PureBasic
IncludeFile "CkFtp2.pb"

Procedure ChilkatExample()

    success.i = 0

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

    ftp.i = CkFtp2::ckCreate()
    If ftp.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    ; If this example does not work, try using passive mode
    ; by setting this to 1.
    CkFtp2::setCkPassive(ftp, 0)
    CkFtp2::setCkHostname(ftp, "ftp.something.com")
    CkFtp2::setCkUsername(ftp, "test")
    CkFtp2::setCkPassword(ftp, "test")
    CkFtp2::setCkPort(ftp, 990)

    ; We don't want AUTH SSL:
    CkFtp2::setCkAuthTls(ftp, 0)

    ; We want Implicit SSL:
    CkFtp2::setCkSsl(ftp, 1)

    ; Connect and login to the FTP server.
    success = CkFtp2::ckConnect(ftp)
    If success <> 1
        Debug CkFtp2::ckLastErrorText(ftp)
        CkFtp2::ckDispose(ftp)
        ProcedureReturn
    Else
        ; LastErrorText contains information even when
        ; successful. This allows you to visually verify
        ; that the secure connection actually occurred.
        Debug CkFtp2::ckLastErrorText(ftp)
    EndIf

    Debug "FTPS Channel Established!"

    ; Do whatever you're doing to do ...
    ; upload files, download files, etc...

    success = CkFtp2::ckDisconnect(ftp)


    CkFtp2::ckDispose(ftp)


    ProcedureReturn
EndProcedure