【发布时间】:2017-06-27 22:56:16
【问题描述】:
我正在尝试编写一个程序,该程序将自动从他们的 FTP 站点下载最新的客户端文件。我可以使用 FTP 客户端成功访问该站点,但是当我尝试以编程方式访问该站点时,我遇到了错误。我尝试了多个 FTP 客户端,但都无法正常工作。
例如,我使用 WinSCP 访问该站点,它有一个方便的功能,它可以生成连接到当前站点所需的代码。这是一个例子:
// Set up session options
SessionOptions sessionOptions = new SessionOptions
{
Protocol = Protocol.Ftp,
HostName = "ftp.site.com",
PortNumber = 21,
UserName = "username",
Password = "password",
};
using (Session session = new Session())
{
// Connect
session.Open(sessionOptions);
// Your code
}
我可以逐字复制生成的代码,将其放入 c# 程序中,然后出现错误
试图以访问权限 x.x.x.x:21 禁止的方式访问套接字
是我做错了什么,还是客户在他们的 FTP 站点上配置了阻止我尝试做的事情?
在我改变了一些东西之后,我不知道到底是什么,错误消失了,我现在可以成功访问 FTP 站点。
【问题讨论】:
-
它的价值;我会尝试内置类或 FluentFTP。我从未听说过或尝试过 WinSCP
-
WinSCP 允许访问 SFTP 站点。这是我可以看到将它与 C# 一起使用的唯一原因。
-
我实际上首先尝试了 FluentFTP,但遇到了同样的错误。我选择 WinSCP 作为示例的原因是为了表明我的代码不是问题。
-
Welp,我不知道发生了什么变化,但现在它正在工作,我没有做任何不同的事情。唯一不同的是我尝试(未成功)以提升的权限运行程序,并且 IT 推送了更新。这非常令人沮丧。那么,我是关闭这个问题还是更新它并保持打开状态?