Sample code for 30+ languages & platforms
Go

Quote and SendCommand

See more FTP Examples

Demonstrate the Quote and SendCommand methods.

Chilkat Go Downloads

Go
    success := false

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

    ftp := chilkat.NewFtp2()

    ftp.SetHostname("ftp.example.com")
    ftp.SetUsername("login")
    ftp.SetPassword("password")

    // Connect and login to the FTP server.
    success = ftp.Connect()
    if success != true {
        fmt.Println(ftp.LastErrorText())
        ftp.DisposeFtp2()
        return
    }

    // Tell the FTP object to keep an in-memory session log
    // so we can see the commands sent to the server,
    // and the responses received back.
    ftp.SetKeepSessionLog(true)

    // Change the current remote directory via the Quote method:
    success = ftp.Quote("CWD junk")
    if success != true {
        fmt.Println(ftp.LastErrorText())
        ftp.DisposeFtp2()
        return
    }

    // Move back up 
    // In this case, ChangeRemoteDir sends "CWD .." to the FTP server.
    success = ftp.ChangeRemoteDir("..")
    if success != true {
        fmt.Println(ftp.LastErrorText())
        ftp.DisposeFtp2()
        return
    }

    // Do the same via the SendCommand method where the
    // raw FTP server response is returned:
    serverResponse := ftp.SendCommand("CWD junk")
    if ftp.LastMethodSuccess() != true {
        fmt.Println(ftp.LastErrorText())
    } else {
        fmt.Println(*serverResponse)
    }

    success = ftp.Disconnect()

    fmt.Println("Session Log:")
    fmt.Println(ftp.SessionLog())

    ftp.DisposeFtp2()