如何从服务器端强制FTP客户端使用二进制模式
我们有一些设备上运行着一个专用的FTP客户端。它们通过一个基于Python的FTP服务器,从我们的网络服务中获取媒体文件(比如AVI视频和图片)以及XML文件。现在我遇到的问题是,这个FTP客户端想要以ASCII模式下载媒体文件,而不是二进制模式。我希望继续使用我们的Python FTP服务器(pyftpdlib),但我找不到强制客户端使用二进制模式的方法。
我浏览了一下FTP的相关标准文档,想找一个命令和响应的序列,这样我们的FTP服务器就可以告诉FTP客户端使用二进制模式,而不是ASCII模式。请问有没有这样的命令和响应序列呢?
1 个回答
2
你可以通过使用自定义的 FTPHandler
来改变你 FTP 服务器的默认行为。具体来说,你可以重写 FTPHandler.ftp_TYPE(filetype)
这个方法,这样就能强制你的服务器以二进制模式来传输文件,设置为 self._current_type = "i"
。