如何使用C#登录FTP?
答案 0 :(得分:5)
这是一个非常好的C#
FTP客户端http://www.codeproject.com/KB/IP/ftplibrary.aspx
//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;
}
/// <summary>
/// Get the credentials from username/password
/// </summary>
private System.Net.ICredentials GetCredentials()
{
return new System.Net.NetworkCredential(Username, Password);
}
答案 1 :(得分:3)
.NET中的本机FTP支持非常繁琐。
我建议使用免费的edtFTPnet组件 - 我已经在企业级应用程序中使用它,没有任何问题。
http://www.enterprisedt.com/products/edtftpnet/overview.html
答案 2 :(得分:3)
var url = "ftp://server";
FtpWebRequest request = (FtpWebRequest)FtpWebRequest.Create(url);
request.Credentials = new NetworkCredential(username, password);
答案 3 :(得分:1)
类似的东西:
var ftp = System.Net.FtpWebRequest(some url);
ftp.Credentials = something;
我认为...:)
答案 4 :(得分:0)
对于搜索此话题的人,我只是把我的帽子扔进了戒指。这是我最近这样做的。我创建了一个FTPProvider类来处理连接连接和一个FTPSettings类来保持模块化。下面的第一行进行连接并返回FtpWebRequest,您需要执行下载,删除和从FTP服务器获取列表等操作。可以找到完整的列表和示例here on the 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;
}