到目前为止,我有一个C#终端应用程序,该应用程序已在我的个人开发PC上运行。该应用程序利用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
停止了连接,并且没有其他信息写入Exception堆栈。我尝试记录FTP跟踪,这就是我得到的:
好像突然消失了,没有错误代码。
我试图查看是否与登录或类似内容有关,但是当登录凭据错误时,这就是结果。它带有530响应:
我也考虑过服务器上的防火墙和端口问题,但令我感到困惑的是,通过FTP通过System.Net.WebClient进行的简单下载似乎在服务器上可以正常工作。
如果有人对我如何解决这一障碍有任何想法,那么我将非常感谢您的帮助!
编辑
在服务器和本地PC上运行时,我已经复制了FtpClient的属性,似乎有些区别:
本地计算机
Capabilities = SIZE,MDTM
HashAlgorithms = NONE
EncryptionMode =无
DataConnectionEncryption =真
PlainTextEncryption = False
SslProtocols =默认
SystemType = Windows_NT
ServerType =未知
ServerOS = Windows
Windows服务器
Capabilities = NONE
HashAlgorithms = NONE
EncryptionMode =无
DataConnectionEncryption =真
PlainTextEncryption = False
SslProtocols =默认
SystemType =未知
ServerType =未知
ServerOS =未知