Sample code for 30+ languages & platforms
Xbase++

Get FTP Server Features (FEAT)

See more FTP Examples

Demonstrates the Chilkat Ftp2.Feat method, which sends FEAT and returns the server's multiline capability reply. It takes no arguments.

Background: FEAT is how a client discovers which optional features a server supports — MLSD for machine-readable listings, UTF8 for Unicode filenames, SIZE, REST for resume, and the AUTH/PROT TLS commands. Chilkat normally runs FEAT automatically and adapts its behavior to the result, so calling it explicitly is mainly for inspection.

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oFtp
LOCAL cFeatures

nSuccess := 0

//  Demonstrates the Ftp2.Feat method, which sends FEAT and returns the server's multiline
//  capability reply.  It takes no arguments.

oFtp := CreateObject("Chilkat.Ftp2")

oFtp:Hostname := "ftp.example.com"
oFtp:Username := "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.
oFtp:Password := "myPassword"

//  Connect and log in (Connect performs both).
nSuccess := oFtp:Connect()
IF (nSuccess == 0)
    ? oFtp:LastErrorText
    oFtp:destroy()
    RETURN
ENDIF

//  The FEAT reply lists optional commands and features the server supports, such as MLSD, UTF8,
//  SIZE, and TLS-related capabilities.
cFeatures := oFtp:Feat()
IF (oFtp:LastMethodSuccess == 0)
    ? oFtp:LastErrorText
    oFtp:destroy()
    RETURN
ENDIF

? cFeatures

nSuccess := oFtp:Disconnect()
IF (nSuccess == 0)
    ? oFtp:LastErrorText
    oFtp:destroy()
    RETURN
ENDIF

oFtp:destroy()