using (var client = new Rebex.Net.Ftp())
// connect and log in
// download a file
Show me more code...
FTP and FTP/SSL client library for C# and VB.NET developers. Provides remote file system
access using the FTP protocol with possibility to secure the connection using SSL layer.
Makes it easy to transfer files between your application and Unix/Windows/Mainframe FTP servers.
Choose the right component:
What's the difference between FTP, FTPS, SFTP, FTP/SSL, Secure FTP and SCP?
Why Rebex FTP/SSL
Connect, log in, download a file, disconnect. Upload all text files in a folder at once.
It's easy to start developing
with our library.
Simple code for common use cases.
Login with... anything
Login using a username and password? Check.
Login with username/password/account? Check.
Login using X509 client certificate? Check.
File and directory operations made easy
Upload a file from the filesystem or memory. Rename and move files.
Check existing files. Or perform other
single file FTP operations.
transfer many files at once.
Upload and download whole directory structures.
Use wildcards or file sets to specify which files to transfer.
Monitor transfer progress with events.
work with directories?
List their content, create or rename them. You can even delete
non-empty folders recursively (and handle symlinks properly) using a single line of code.
Secure file transfers
Rebex FTP/SSL supports both plain FTP and FTP secured with
TLS/SSL. This protocol ensures that the file transfers are secure and reliable.
Rebex FTP/SSL supports both
implicit or explicit TLS/SSL
and provides a rich set of security features. You'll find APIs for TLS/SSL security,
X509 certificates, and more.
Powerful directory listing parser
The original FTP standard defined no standard directory listing format.
As a result, listings used by different FTP server on different operating
system are very diverse.
Fortunately, you don't have to worry about this with Rebex FTP/SSL.
It's reliable listing parser has been under continuous development since 2003
and can detect and parse virtually any
common directory listing format used by Unix, Windows, Netware, DOS, VMS, IBM 4690 or Tandem Guardian FTP servers.
Even if you come across a rare format which is not yet supported out-of-the-box,
can still easily add your own
custom directory listing parser.
2.0, 3.0, 3.5. 4.0, 4.5.x, 4.6.x; both 32-bit and 64-bit editions on Windows XP or later; Visual Studio 2005, 2008, 2010, 2012, 2013, 2015
.NET Compact Framework
2.0, 3.5, 3.9 on Windows Mobile, Windows CE, Pocket PC, PDAs and Smartphones, Windows Embedded Compact 2013; Visual Studio 2005, 2008, 2012, 2013
2.10, 3.x, 4.x on Linux and Apple's OS X
Xamarin.iOS 8.6 or later; Xamarin Studio
Xamarin.Android 4 or later; Xamarin Studio
Supports Visual Studio 2005, 2008, 2010, 2012, 2013 and 2015.
Learn more about supported standards and platforms.
Experimental support for Windows Store Apps platforms:
Windows 8/8.1, Windows Phone 8.1, Universal Windows Platform (Windows 10, Windows 10 Mobile and Windows 10 IoT)
Experimental support for Xamarin.Mac platform (assemblies are suitable for Xamarin.Mac Mobile and Xamarin.Mac .NET 4.5 Framework projects).
- FTP (as defined in RFC 959, 1123, 1579, 2228, 2246, 4217)
- TLS 1.0, 1.1 and 1.2 (RFC 2246, 4346, 5246)
- SSL 3.0
Trusted by thousands of .NET developers worldwide
Thousands of developers chose Rebex FTP for adding FTP and SSL capabilities to their applications.
Want an example? Just check your Visual Studio 2010 or 2012 installation folders
and you'll find Rebex DLLs there. It's because
Microsoft uses Rebex FTP and SFTP in Visual Studio and several other products.
You'll be in a good company.
Many, many more time-tested features
Rebex FTP is a mature and stable component maintained since 2003. We have been adding
new features year after year, inspired by user feedback. For example:
- Multi-file transfers
- Transfer progress monitoring
- Automated transfer resume
- Server to server transfer (FXP)
- IFtp interface - unified API for FTP, FTP/SSL and FTP
- Transfer speed limiting
- Ability to use FTP in SSIS, SQL CLR and PowerShell
- Symlinks detection and handling
- ZLIB compression
- FIPS 140-2 compliant mode
And many, many more...
Hear from customers
It took me 10 minutes to plug it into our C# application and voila,
passive FTP connections, excellent communication and error codes / messages when things don’t connect properly via our VPN.
Well done on an excellent product. I’m a software developer of some 18 years and I’m quite sceptical of 3rd party components, however, this FTP library is excellent. Can’t fault it.
I can Highly Recommend it.