微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

EdtFTPNetPro FTPS 命令 PBSZ 0 导致问题

如何解决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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?