用c#登录ftp

你如何使用C#登录FTP?

这是一个非常好的C#FTP客户端

http://www.codeproject.com/KB/IP/ftplibrary.aspx

Link的Snippett

//Get the basic FtpWebRequest object with the //common settings and security private FtpWebRequest GetRequest(string URI) { //create request FtpWebRequest result = (FtpWebRequest)FtpWebRequest.Create(URI); //Set the login details result.Credentials = GetCredentials(); //Do not keep alive (stateless mode) result.KeepAlive = false; return result; } ///  /// Get the credentials from username/password ///  private System.Net.ICredentials GetCredentials() { return new System.Net.NetworkCredential(Username, Password); } 

.NET中的本机FTP支持是繁琐的。

我建议使用免费的edtFTPnet组件 – 我已经在企业应用程序中使用它,没有任何问题。

http://www.enterprisedt.com/products/edtftpnet/overview.html

 var url = "ftp://server"; FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(url); request.Credentials = new NetworkCredential(username, password); 

就像是:

 var ftp = System.Net.FtpWebRequest(some url); ftp.Credentials = something; 

我认为… :)

对于那些搜索这个主题的人,我只是把我的帽子戴在戒指上。 这是我最近这样做的方式。 我创建了一个FTPProvider类来处理连接布线和一个FTPSettings类来保持模块化。 下面的第一行进行连接并返回FtpWebRequest,您需要执行下载,删除和从FTP服务器获取列表等操作。 可以在msdn上找到完整的列表和示例。

 FtpWebRequest request = FTPProvider.GetFTPRequest(FTPProvider.Settings.FTPPath); public class FTPProvider { public FTPSettings Settings { get; set; } public FtpWebRequest ConnectToFtp(Uri ftpServerUri) { var request = (FtpWebRequest)WebRequest.CreateDefault(ftpServerUri); request.Credentials = new NetworkCredential(Settings.User, Settings.Password); return request; } public FtpWebRequest GetFTPRequest(string filepath) { var ftpServerUri = new Uri(filepath); return ConnectToFtp(ftpServerUri); } } public class FTPSettings { public string FTPPath; public string User; public string Password; }