按照我用来连接到 FTP 服务器的代码进行操作。
client.Mode = FtpMode.Active;
client.ActiveModePorts = new Range(10000, 10001);
client.Connect(ftpModel.ftpServer, ftpModel.ftpPort);
client.Login(ftpModel.ftpUser, ftpModel.ftpPassword);
我正在使用 Ftp.dll nuget 包进行开发。
- Visual Studio 抛出的错误
- FTP 防火墙支持
- 防火墙入站规则
- Azure VM 的入站规则
- 我的本地计算机中的入站规则
最佳答案
在Azure VM中,我们无法在主动模式下使用FTP,请尝试使用被动模式。
在主动模式 FTP 中,客户端从随机非特权端口 (N > 1023) 连接到 FTP 服务器的命令端口(端口 21)。然后,客户端开始监听端口 N+1 并发送 FTP 命令 PORT N+1到 FTP 服务器。然后,服务器将从其本地数据端口(即端口 20)连接回客户端指定的数据端口。
连接如下:
关于c# - "Server cannot accept argument"Azure VM 中 IIS 中的 FTP 服务器引发异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42523510/