-
-
Notifications
You must be signed in to change notification settings - Fork 684
FTP Support
Robin Rodricks edited this page Aug 29, 2021
·
4 revisions
Mapping table documenting supported FTP commands and the corresponding API..
Connection commands
| Command | API | Description |
|---|---|---|
| HOST | SendHost and SendHostDomain |
Identify your domain on shared hosting |
| USER, PASS | Credentials | Login with username & password |
| QUIT | Disconnect() | Disconnect |
| PASV, EPSV, EPRT | DataConnectionType | Passive & Active FTP modes |
| FEAT | HasFeature() | Get the features supported by server |
| SYST | GetSystem() | Get the server system type |
| OPTS UTF8 ON | Encoding | Enables UTF-8 filenames |
| OPTS UTF8 OFF | Encoding, DisableUTF8() | Disables UTF-8 filenames |
| AUTH TLS | EncryptionMode | Switch to TLS/FTPS |
| PBSZ, PROT | EncryptionMode and DataConnectionEncryption |
Configure TLS/FTPS connection |
| CCC | PlainTextEncryption | Switch to plaintext FTP |
| PRET | Automatic | Pre-transfer file information |
| TYPE A | UploadDataType and DownloadDataType |
Transfer data in ASCII |
| TYPE I | UploadDataType and DownloadDataType |
Transfer data in Binary |
File Management commands
| Command | API | Description |
|---|---|---|
| MLSD | GetListing() | Get directory machine list |
| LIST | GetListing() with FtpListOption.ForceList | Get directory file list |
| NLST | GetNameListing() GetListing() with FtpListOption.ForceNameList |
Get directory name list |
| LS | GetListing() with FtpListOption.UseLS | Get directory file list |
| STAT | GetListing() with FtpListOption.UseStat | Get directory file list |
| MLST | GetObjectInfo() | Get file information |
| DELE | DeleteFile() | Delete a file |
| MKD | CreateDirectory() | Create a directory |
| SITE MKDIR | CreateDirectory() | Create a directory with server-side recursion (ProFTPD) |
| RMD | DeleteDirectory() | Delete a directory |
| SITE RMDIR | DeleteDirectory() | Delete a directory with server-side recursion (ProFTPD) |
| RMDA | DeleteDirectory() | Delete a directory with server-side recursion (Serv-U) |
| CWD | SetWorkingDirectory() | Change the working directory |
| PWD | GetWorkingDirectory() | Get the working directory |
| SIZE | GetFileSize() | Get the filesize in bytes |
| MDTM | GetModifiedTime() GetListing() with FtpListOption.Modify GetObjectInfo() with dateModified |
Get the file modified date |
| MFMT | SetModifiedTime() | Modify file modified date |
| SITE CHMOD | Chmod() or SetFilePermissions() | Modify file permissions |
| RNFR, RNTO | Rename() MoveFile() |
Rename a file or directory Move a file or directory |
| NOOP | Upload() UploadFile() Download() DownloadFile() |
Keep-alive used during file transfer |
File Hashing commands
| Command | API | Description |
|---|---|---|
| HASH | GetChecksum() | Gets the hash of a file using various algorithms |
| MD5 | GetChecksum() | Gets the MD5 hash of a file |
| XMD5 | GetChecksum() | Gets the MD5 hash of a file |
| XSHA1 | GetChecksum() | Gets the SHA-1 hash of a file |
| XSHA256 | GetChecksum() | Gets the SHA-256 hash of a file |
| XSHA512 | GetChecksum() | Gets the SHA-512 hash of a file |
- Auto Connection
- Auto Reconnection
- FTP(S) Connection
- FTP(S) Connection using GnuTLS
- FTPS Proxies
- Custom Servers
- Custom Commands
- v40 Migration Guide