使用c#登录ftp

时间:2009-02-12 15:13:40

标签: c# ftp

如何使用C#登录FTP?

5 个答案:

答案 0 :(得分:5)

这是一个非常好的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;
}

/// <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;
}