Resuming FTP downloads using only standard tools (see RFC959 ) requires the use of block transfer mode (section 3.4.2), which can be set using the MODE B command. Although this feature is technically necessary to meet specifications, I am not sure that all FTP server software implements it.
In block transfer mode, in contrast to stream transfer mode, the server sends the file to pieces, each of which has a marker. This token can be re-sent to the server to restart the failed transfer (section 3.5).
The specification states:
[...] a restart procedure is provided to protect users from system failures (including failures of the host, FTP process or core network).
However, AFAIK, the specification does not define the required lifetime for markers. He says only the following:
Token information is meaningful only to the sender, but should consist of printed characters in a standard or coordinated control connection language (ASCII or EBCDIC). The token may represent a bit count, a record counter, or any other information by which the system can identify a data checkpoint. The data receiver, if it implements the restart procedure, then marks the corresponding position of this marker in the receiving system and returns this information to the user.
You must be sure that servers that implement this feature will provide tokens that are valid between FTP sessions, but your mileage may vary.
source share