Sample code for 30+ languages & platforms
Dart

Send a Raw FTP Command and Get the Reply

See more FTP Examples

Demonstrates the Chilkat Ftp2.SendCommand method, which sends a raw FTP command and returns the complete server reply. The only argument is the command text, which must not contain CR or LF.

Background: This is the escape hatch for commands the API does not wrap directly — it sends exactly what you provide and hands back the full reply for you to interpret. It is limited to commands that complete on the control connection; anything requiring a data connection (a listing or transfer) needs the dedicated methods, which set up the data channel. Note the command is sent as UTF-8 and CommandCharset is not applied.

Chilkat Dart Downloads

Dart
import 'package:chilkat/chilkat.dart';

void main() {
  // Demonstrates the Ftp2.SendCommand method, which sends a raw FTP command and returns the
  // complete server reply.  The only argument is the command text.  Use this for a command not
  // otherwise exposed by the API.

  final ftp = CkFtp2();

  ftp.hostname = 'ftp.example.com';
  ftp.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.
  ftp.password = 'myPassword';

  // Connect and log in (Connect performs both).
  try {
    ftp.connect();
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  // The command must not contain CR or LF characters.  Here PWD is sent as an example.
  final String reply;
  try {
    reply = ftp.sendCommand('PWD');
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }

  print(reply);

  try {
    ftp.disconnect();
  } on ChilkatException catch (e) {
    print(e.lastErrorText);
    return;
  }
}