Sample code for 30+ languages & platforms
DataFlex

Send FTP STAT and Get the Reply

See more FTP Examples

Demonstrates the Chilkat Ftp2.Stat method, which sends the FTP STAT command and returns the server's reply. It takes no arguments; depending on the server and session state, the reply may contain status information or a directory listing.

Background: STAT is unusual in that it returns over the control connection without opening a data connection, which is why some clients use STAT as a lightweight directory listing that sidesteps passive/active data-channel setup. Its exact behavior, accepted arguments, and whether it works before login are all server-dependent, so treat the reply as advisory rather than a fixed format.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Boolean iSuccess
    Handle hoFtp
    String sStatReply
    String sTemp1
    Boolean bTemp1

    Move False To iSuccess

    //  Demonstrates the Ftp2.Stat method, which sends the FTP STAT command and returns the server's
    //  reply.  It takes no arguments.  Depending on the server, the reply may contain status
    //  information or a directory listing.

    Get Create (RefClass(cComChilkatFtp2)) To hoFtp
    If (Not(IsComObjectCreated(hoFtp))) Begin
        Send CreateComObject of hoFtp
    End

    Set ComHostname Of hoFtp To "ftp.example.com"
    Set ComUsername Of hoFtp To "myFtpLogin"

    //  Normally you would not hard-code the password in source.  You should instead obtain it
    //  from an interactive prompt, environment variable, or a secrets vault.
    Set ComPassword Of hoFtp To "myPassword"

    //  Connect and log in (Connect performs both).
    Get ComConnect Of hoFtp To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoFtp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Get ComStat Of hoFtp To sStatReply
    Get ComLastMethodSuccess Of hoFtp To bTemp1
    If (bTemp1 = False) Begin
        Get ComLastErrorText Of hoFtp To sTemp1
        Showln sTemp1
        Procedure_Return
    End

    Showln sStatReply

    Get ComDisconnect Of hoFtp To iSuccess
    If (iSuccess = False) Begin
        Get ComLastErrorText Of hoFtp To sTemp1
        Showln sTemp1
        Procedure_Return
    End



End_Procedure