有没有办法强制FTP客户端在传输之前发出ALLO命令?

时间:2011-04-18 20:30:09

标签: networking ftp rfc

我正在开发一个FTP服务器,在STOR发生之前我需要文件大小,我已经看到有一个名为ALLO的命令,我想知道是否有办法强制客户端发出命令,因为客户端当然知道文件大小。

干杯。

2 个答案:

答案 0 :(得分:2)

只是一个猜测 - 您可以为STOR返回552 - Exceeded storage allocation (for current directory or dataset).

答案 1 :(得分:2)

我认为@Rob Adams正朝着正确的方向前进,但我不同意发送552,表示你正在中止转移;我认为持有请求直到他们发送ALLO是一种更有用的方法。阅读RFC 959

        This (ALLO) command may be required by some servers to reserve
        sufficient storage to accommodate the new file to be
        transferred...

第4.2节列出了有效的回复格式,您可以在第一行显示错误,并详细说明第二行ALLO的要求。

此外,第4.2.2节列出了此消息...... 350 Requested file action pending further information.

如果您的服务器在收到ALLO之前收到存储请求似乎是合理的,它应该抛出350并保持转移,直到您获得会话超时,关闭或他们发送ALLO