如何使用C#

时间:2019-07-12 16:23:34

标签: c# .net ftp winscp-net

我们的IT部门为我提供了FTPS的凭据,我可以使用FileZilla进行访问

但是我还需要使用正在使用的应用程序访问FTPS,以使过程自动化。提供给我的信息是

这是基于TLS / SSL的FTP

IP :xxx.xxx.xx.xx

端口:990 <-暗示其为隐式加密

用户名:username.ftp

密码:密码123

在阅读了WinSCP堆栈上的一些帖子及其文档之后,我仍然无法使用我的应用程序访问ftp。到目前为止,我的代码。

        SessionOptions sessionOp = new SessionOptions()
        {
            FtpSecure = FtpSecure.Implicit,
            Protocol = Protocol.Ftp,
            HostName = IP,              
            UserName = userName,
            Password = password,
        };

        sessionOp.AddRawSettings("ProxyMethod", "3");
        sessionOp.AddRawSettings("ProxyPort", "990");

        using (Session session = new Session())
        {
            session.Open(sessionOp);
            var list = session.ListDirectory(dir);
            Console.WriteLine(list);
        }

我收到的错误是WinSCP中的“无法连接”

如何访问此FTPS?

1 个答案:

答案 0 :(得分:2)

您所做的是将HTTP代理端口配置为990。相反,您应该配置FTPS端口。

SessionOptions sessionOp = new SessionOptions()
{
    FtpSecure = FtpSecure.Implicit,
    Protocol = Protocol.Ftp,
    HostName = IP,              
    UserName = userName,
    Password = password,
    PortNumber = 990
};

并删除行

sessionOp.AddRawSettings("ProxyMethod", "3");
sessionOp.AddRawSettings("ProxyPort", "990");

此外,考虑到该库与GUI相关,我建议使用the WinSCP GUI代替FileZilla尝试此操作。