如何解决EdtFTPNetPro FTPS 命令 PBSZ 0 导致问题
使用 edtFTPnet/PRO 库连接到 FTPS 服务器。
public void Run(string serverAddress,int serverPort,string userName,string password)
{
ftpConnection.ServerAddress = serverAddress;
ftpConnection.ServerPort = serverPort;
ftpConnection.UserName = userName;
ftpConnection.Password = password;
// select explicit FTPS
ftpConnection.Protocol = FileTransferProtocol.FTPSExplicit;
// switch off server validation (unsafe - only do this when testing)
ftpConnection.ServerValidation = SecureFTPServerValidationType.None;
ftpConnection.MinSSLVersion = SSLFTPSSLVersion.TLS12;
// connect to server
ftpConnection.Connect();
// get the current working directory and files
ftpConnection.GetFiles();
ftpConnection.Close();
}
但是,当 lib 发送 PBSZ 0
命令时,服务器以 502 响应:
Reply: 220-Welcome
Reply: 220
Command: --->AUTH TLS
Reply: 234 SSL/TLS enabled...start negotiation
...
[Debug]: Synchronous handshake complete
[Debug]: Tls1,Tls11,Tls12 handshake complete.
Command: --->PBSZ 0
Reply: 502 Command unkNown,not supported or not allowed...
[Debug]: Expected reply codes = [200,235](strict=False)
[Debug]: Purging task queue
[Debug]: Closing connection [instance=19,abrupt=False]
Command: --->QUIT
Reply: 221-
Reply: 221 Goodbye
如果我从 FileZilla 打开到同一个 FTP 服务器的另一个连接,我会看到以下内容:
Status: Connection established,waiting for welcome message...
Trace: CFtpControlSocket::OnReceive()
Response: 220-Welcome
Response: 220
...
Command: AUTH TLS
Trace: CFtpControlSocket::OnReceive()
Response: 234 SSL/TLS enabled... start negotiation
Trace: CFtplogonopData::ParseResponse() in state 2
Status: Initializing TLS...
Trace: tls_layer_impl::client_handshake()
...
Status: Verifying certificate...
Trace: CFtpControlSocket::SetAsyncRequestReply
Status: TLS connection established.
...
Command: PBSZ 0
Trace: tls_layer_impl::on_read()
Trace: CFtpControlSocket::OnReceive()
Response: 200 PBSZ set to PBSZ 0
导致服务器响应 502 并向 FileZilla 客户端响应 200 的 C# 代码中缺少什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。