Sample code for 30+ languages & platforms
PureBasic

Automatically Determine FTP Proxy Method

See more FTP Examples

Tries each of the five possible ProxyMethod settings and returns the value (1-5) of the ProxyMethod that succeeded.

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

    CkFtp2::setCkHostname(ftp, "www.example-code.com")
    CkFtp2::setCkUsername(ftp, "example-code.com")
    CkFtp2::setCkPassword(ftp, "****")

    CkFtp2::setCkProxyHostname(ftp, "ftp.myproxyhost.com")
    CkFtp2::setCkProxyPort(ftp, 21)
    ; Note: Your FTP Proxy server may or may not require authentication.
    CkFtp2::setCkProxyUsername(ftp, "myProxyUsername")
    CkFtp2::setCkProxyPassword(ftp, "myProxyPassword")

    ; The ProxyMethod should be an integer value between 1 and 5.
    ; If you know your FTP proxy server's authentication scheme,
    ; you may set it directly.  To determine the ProxyMethod,
    ; call DetermineProxyMethod.  A return value of -1 indicates a failure.
    ; A return value of 0 indicates that nothing worked.
    ; A return value of 1-5 indicates the ProxyMethod that was 
    ; successful, and this should be the value used for the ProxyMethod
    ; property.

    pMethod.i = CkFtp2::ckDetermineProxyMethod(ftp)
    Debug Str(pMethod)

    success = CkFtp2::ckDisconnect(ftp)


    CkFtp2::ckDispose(ftp)


    ProcedureReturn
EndProcedure