Skip to content

Repository files navigation

rust-ftp

FTP client for Rust

Build Statuscrates.io

Documentation

Installation

Add ftp via your Cargo.toml

[dependencies]
ftp = "*"

FTPS support is disabled by default. To enable it secure should be activated in Cargo.toml.

[dependencies]
ftp = { version = "*", features = ["secure"] }

Usage

externcrate ftp;use std::str;use std::io::Cursor;use ftp::FtpStream;fnmain(){// Create a connection to an FTP server and authenticate to it.letmut ftp_stream = FtpStream::connect("127.0.0.1:21").unwrap();let _ = ftp_stream.login("username","password").unwrap();// Get the current directory that the client will be reading from and writing to.println!("Current directory: {}", ftp_stream.pwd().unwrap());// Change into a new directory, relative to the one we are currently in.let _ = ftp_stream.cwd("test_data").unwrap();// Retrieve (GET) a file from the FTP server in the current working directory.let remote_file = ftp_stream.simple_retr("ftpext-charter.txt").unwrap();println!("Read file with contents\n{}\n",str::from_utf8(&remote_file.into_inner()).unwrap());// Store (PUT) a file from the client to the current working directory of the server.letmut reader = Cursor::new("Hello from the Rust \"ftp\" crate!".as_bytes());let _ = ftp_stream.put("greeting.txt",&mut reader);println!("Successfully wrote greeting.txt");// Terminate the connection to the server.let _ = ftp_stream.quit();}

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

About

FTP client for Rust

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages