![FluentFTP](https://github.com/robinrodricks/FluentFTP/raw/master/.github/logo-new.png)
[![Version](https://img.shields.io/nuget/vpre/FluentFTP.svg)](https://www.nuget.org/packages/FluentFTP)
[![Downloads](https://img.shields.io/nuget/dt/FluentFTP.svg)](https://www.nuget.org/packages/FluentFTP)
[![GitHub contributors](https://img.shields.io/github/contributors/robinrodricks/FluentFTP.svg)](https://github.com/robinrodricks/FluentFTP/graphs/contributors)
[![Codacy grade](https://img.shields.io/codacy/grade/2d6bb3604aae4c1e892a8386363a5bfc.svg)](https://app.codacy.com/project/robinrodricks/FluentFTP/dashboard)
[![License](https://img.shields.io/github/license/robinrodricks/FluentFTP.svg)](https://github.com/robinrodricks/FluentFTP/blob/master/LICENSE.TXT)
FluentFTP is a fully managed FTP and FTPS library for .NET & .NET Standard, optimized for speed. It provides extensive FTP commands, File uploads/downloads, SSL/TLS connections, Automatic directory listing parsing, File hashing/checksums, File permissions/CHMOD, FTP proxies, FXP transfers, UTF-8 support, Async/await support, Powershell support and more.
It is written entirely in C#, with no external dependencies. FluentFTP is released under the permissive MIT License, so it can be used in both proprietary and free/open source applications.
![Features](https://github.com/robinrodricks/FluentFTP/raw/master/.github/features-2.png)
## Features
- Full support for [FTP](https://github.com/robinrodricks/FluentFTP/wiki/FTP-Support), [FXP](https://github.com/robinrodricks/FluentFTP/wiki/FXP-Server-To-Server#how-does-fxp-transfer-work), [FTPS](https://github.com/robinrodricks/FluentFTP/wiki/FTPS-Connection#faq_ftps) (FTP over SSL), [FTPS with client certificates](https://github.com/robinrodricks/FluentFTP/wiki/FTPS-Connection#faq_certs) and [FTPS with CCC](https://github.com/robinrodricks/FluentFTP/wiki/FTPS-Connection#faq_ccc) (for FTP firewalls)
- **File management:**
- File and directory listing for [all major server types](https://github.com/robinrodricks/FluentFTP/wiki/Directory-Listing#faq_listings) (Unix, Windows/IIS, Azure, Pure-FTPd, ProFTPD, Vax, VMS, OpenVMS, Tandem, HP NonStop Guardian, IBM OS/400, AS400, Windows CE, Serv-U, etc)
- Fully recursive directory listing and directory deletion (manual recursion and server-side recursion)
- Easily upload and download a file from the server with [progress tracking](https://github.com/robinrodricks/FluentFTP/wiki/File-Transfer#how-can-i-track-the-progress-of-file-transfers)
- Easily upload and download a directory from the server with [easy synchronization modes](https://github.com/robinrodricks/FluentFTP/wiki/Directory-Transfer#what-is-the-difference-between-the-mirror-and-update-modes)
- Easily transfer a file or folder directly from [one server to another](https://github.com/robinrodricks/FluentFTP/wiki/FXP-Server-To-Server#how-does-fxp-transfer-work) using the FXP protocol
- Conditionally transfer files using [rule based whitelisting and blacklisting](https://github.com/robinrodricks/FluentFTP/wiki/Rules#what-kinds-of-rules-are-supported-and-how-do-rules-work)
- Automatically [verify the hash](https://github.com/robinrodricks/FluentFTP/wiki/File-Hashing#faq_verifyhash) of a file & retry transfer if hash mismatches
- Configurable error handling (ignore/abort/throw) for multi-file transfers
- Easily read and write file data from the server using standard streams
- Create, append, read, write, rename, move and delete files and folders
- Recursively deletes folders and all its contents
- Get file/folder info (exists, size, security flags, modified date/time)
- Get and set [file permissions](https://github.com/robinrodricks/FluentFTP/wiki/File-Permissions) (owner, group, other)
- Absolute or relative paths (relative to the ["working directory"](https://github.com/robinrodricks/FluentFTP/wiki/File-Management))
- Compare a local file against a remote file using the [hash/checksum](https://github.com/robinrodricks/FluentFTP/wiki/File-Hashing#faq_comparefile) (MD5, CRC32, SHA-1, SHA-256, SHA-512)
- Dereference of symbolic links to calculate the linked file/folder
- [Throttling](https://github.com/robinrodricks/FluentFTP/wiki/File-Transfer#faq_throttle) of uploads and downloads with configurable speed limit
- **FTP protocol:**
- Automatic detection of [working connection settings](https://github.com/robinrodricks/FluentFTP/wiki/Automatic-Connection#faq_autodetect) and automatic [connection negotiation](https://github.com/robinrodricks/FluentFTP/wiki/Automatic-Connection#faq_autoconnect)
- Automatic detection of the [FTP server software](https://github.com/robinrodricks/FluentFTP/wiki/Server-Information#faq_servertype) and its [capabilities](https://github.com/robinrodricks/FluentFTP/wiki/Directory-Listing#faq_recursivelist)
- Extensive support for [FTP commands](https://github.com/robinrodricks/FluentFTP/wiki/FTP-Support), including some server-specific commands
- Easily send [server-specific](https://github.com/robinrodricks/FluentFTP/issues/88) FTP commands using the `Execute()` method
- Explicit and Implicit [SSL connections](https://github.com/robinrodricks/FluentFTP/wiki/FTPS-Connection#faq_ftps) are supported for the control and data connections using .NET's `SslStream`
- Passive and active data connections (PASV, EPSV, PORT and EPRT)
- Supports Unix CHMOD, PRET, ProFTPD's SITE MKDIR and RMDIR commands, Serv-U's RMDA command
- Supports [FTP Proxies](https://github.com/robinrodricks/FluentFTP/wiki/FTPS-Proxies#faq_loginproxy) (User@Host, HTTP 1.1, BlueCoat)
- [FTP command logging](https://github.com/robinrodricks/FluentFTP/wiki/Logging#faq_log) using `TraceListeners` (passwords omitted) to [trace](https://github.com/robinrodricks/FluentFTP/wiki/Logging#faq_trace) or [log output](https://github.com/robinrodricks/FluentFTP/wiki/Logging#faq_logfile) to a file
- SFTP is not supported as it is FTP over SSH, a completely different protocol (use [SSH.NET](https://github.com/sshnet/SSH.NET) for that)
- **Asynchronous support:**
- Synchronous and asynchronous methods using `async`/`await` for all operations
- Asynchronous methods for .NET 4.0 and below using `IAsyncResult` pattern (Begin*/End*)
- All asynchronous methods can be cancelled midway by passing a `CancellationToken`
- All asynchronous methods honor the `ReadTimeout` and automatically cancel themselves if timed out
- Improves thread safety by cloning the FTP control connection for file transfers (optional)
- Implements its own internal locking in an effort to keep transactions synchronized
- **Extensible:**
- Easily add support for custom non-standard FTP servers (see the [Custom Servers](https://github.com/robinrodricks/FluentFTP/wiki/Custom-Servers) page)
- Easily add support for more file or directory filtering rules (simply extend [`FtpRule`](https://github.com/robinrodricks/FluentFTP/wiki/Class-FtpRule))
- Easily add support for more proxy types (simply extend [`FtpClientProxy`](https://github.com/robinrodricks/FluentFTP/blob/master/FluentFTP/Proxy/FtpClientProxy.cs))
- Easily add unsupported directory listing parsers (see the [`CustomParser`](https://github.com/robinrodricks/FluentFTP/blob/master/FluentFTP.CSharpExamples/CustomParser.cs) example)
- Easily add custom logging/tracing functionality using [`FtpTrace.AddListener`](https://github.com/robinrodricks/FluentFTP/wiki/Logging#faq_log)
- Easily add your own Powershell commands by extending the scripts in [`FluentFTP.ps1`](https://github.com/robinrodricks/FluentFTP/wiki/Powershell)
## Releases
Stable binaries are released on NuGet, and contain everything you need to use FTP/FTPS in your .Net/CLR application. For usage see the [Quick Start Example](https://github.com/robinrodricks/FluentFTP/wiki/Quick-Start-Example) and the [Documentation](https://github.com/robinrodricks/FluentFTP/wiki) w
穆庭秋
- 粉丝: 33
- 资源: 4671
最新资源
- MATLAB环境下基于双树复小波和邻域多尺度的一维时间序列信号降噪方法 程序运行环境为MATLAB R2018a
- 双目视觉的三维重建算法 源代码 visual studio平台开发,编译环境调试好了,有操作文档打开可直接运行 相关的文献资料整合
- 洁净空调控制系统上位机画面+博途plc程序的完整项目文件,实际运行的项目,wincc7.5版本,博途V16,都采用结构化编程,是学习wincc画面组态和博途编程的优秀范例,画面和程序对应,便于理解和学
- Comsol矢量光激发散射体
- 基于PLC的自助洗车机控制系统,采用博途软件编写,全部仿真完成 提供程序,画面,接线图,IO分配表及优质后服务 洗车机动作流程(详见上方演示视频): 1).按下启动开关之后,洗车机开始往右移,喷水设
- 使用 PyTorch 库创建全连接的二分类、多分类分类器以及神经网络回归器
- matlab SOC估计各种算法比较,为其制作了UI界面 四种工作模式,分别为BBDST,UDDS,ECE15和恒流模式 6种soc估计算法比较,包括传统的安时积分法,KF算法,EKF算法,DE
- 交流调速,斜坡电压软启动(软启动) 异步电动机软启动仿真,附带说明
- Abaqus相场法断裂模型 ABAQUS UMAT 用户子程序, 用于实现广义版本的相场断裂,实现不同的断裂准则(包括 Drucker-Prager)以及不同的裂纹密度函数的选择
- 多孔介质流动 多孔介质中的两相流动, 多尺度模拟,孔隙尺度建模,Darcy-Brinkman-biot理论 可以模拟粘性指进,毛细管力驱动,接触角研究 模拟驱替和渗吸过程
- 三相三电平PWM整流器闭环控制策略,采用三电平SVPWM算法
- matlab异步电机调速系统,闭环控制,采用矢量控制,可提供参考文献
- C#海康VM算法模板程序样例Labview通用视觉框架源码包含与各类PLC通讯的子函数,【注意:每个VM算法样例有视频讲解 】适合从零基础到高级的一整套学习源码加资料
- Ansys lsdyna岩石混凝土准静态压缩 劈裂建模分析
- 全套西门子恒压供水,图纸及程序 西门子plc,smart200触摸屏包含昆仑通泰触摸屏 恒压供水全套图纸 三拖三全套程序 图纸功能:带超压,缺水保护,模拟量控制变频器 ,
- 混沌映射和非线性化逃逸能量的改进HHO-Matlab 改进包含 通过Tent混沌映射改善初始种群,提高种群多样性 将逃逸能量非线性化,以加快哈里斯鹰优化算法的收敛速度
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
评论1