1

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

干杯。

4

2 回答 2

2

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

于 2011-04-18T20:36:10.943 回答
2

我认为@Rob Adams 的方向是正确的,但我不同意 send 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,它应该抛出 a350并保持传输,直到您获得会话超时、关闭或他们发送一个ALLO.

于 2011-04-19T01:44:56.313 回答