mcai_ftp 3.0.1

FTP client for Rust
Documentation
extern crate ftp;

use ftp::{FtpError, FtpStream};
use std::io::Cursor;
use std::str;

fn test_ftp(addr: &str, user: &str, pass: &str) -> Result<(), FtpError> {
  let mut ftp_stream = FtpStream::connect((addr, 21)).unwrap();
  ftp_stream.login(user, pass).unwrap();
  println!("current dir: {}", ftp_stream.pwd().unwrap());

  ftp_stream.cwd("test_data").unwrap();

  // An easy way to retrieve a file
  let cursor = ftp_stream.simple_retr("ftpext-charter.txt").unwrap();
  let vec = cursor.into_inner();
  let text = str::from_utf8(&vec).unwrap();
  println!("got data: {}", text);

  // Store a file
  let file_data = "Some awesome file data man!!".to_string();
  let mut reader = Cursor::new(file_data.into_bytes());
  ftp_stream.put("my_random_file.txt", &mut reader).unwrap();

  ftp_stream.quit()
}

fn main() {
  test_ftp("127.0.0.1", "anonymous", "rust-ftp@github.com").unwrap();
  println!("test successful")
}