到目前为止,我有一个 C# 终端应用程序,它一直在我的个人开发电脑上运行。该应用程序使用 FTP 来检索一些文件。对于通过 FTP 简单下载特定文件,我只使用常规 System.Net.WebClient 并使用用户名和密码填写 NetworkCredentials,但该应用程序还使用 FluentFTP 进行一些更复杂的 FTP 上传。
这基本上是我使用 FluentFTP 连接的方式:
using (FtpClient ftp = new FtpClient(FTP_URL)
{
ftp.Credentials = new NetworkCredential(USER, PASSWORD);
ftp.Connect(); //Or run any ftp command...
}
当我在 Windows 2019 服务器上运行终端程序并尝试使用 FluentFTP 进行连接时,它突然停止连接FluentFTP.FTPCommandException
,异常堆栈中没有写入任何其他信息。我尝试记录 FTP 跟踪,这就是我得到的:
它似乎突然中断而没有错误代码。
我试图查看它是否与登录或类似的东西有关,但是当登录凭据错误时,这就是结果。它带有 530 响应:
我也考虑过服务器上的防火墙和端口问题,但让我感到困惑的是,通过 System.Net.WebClient 通过 FTP 进行的简单下载似乎在服务器上运行良好。
如果有人对我如何解决这个障碍有任何想法,那么我将非常感谢您的帮助!
编辑
我在服务器和本地电脑上运行时复制了 FtpClient 的属性,似乎有一些区别:
本地电脑
能力=大小,MDTM
哈希算法=无
加密模式=无
数据连接加密=真
纯文本加密=假
SslProtocols=默认
系统类型=Windows_NT
服务器类型=未知
服务器操作系统=Windows
视窗服务器
能力=无
哈希算法=无
加密模式=无
数据连接加密=真
纯文本加密=假
SslProtocols=默认
系统类型=未知
服务器类型=未知
服务器操作系统=未知