如何只从远程文件中读取几行?

时间:2015-06-01 10:24:54

标签: ruby download ftp stream

在下载文件之前,我需要设置一种方式(通常是.csv,但不总是)。

我不想下载整个文件,特别是如果“标题”与预期的不匹配。

有没有办法只下载一定数量的byes然后优雅地终止连接?

1 个答案:

答案 0 :(得分:1)

在FTP协议中没有明确的支持。

RANG命令的过期草稿允许这样做:
https://tools.ietf.org/html/draft-bryan-ftp-range-08
但显然只有新的FTP服务器支持这一点。

虽然没有任何东西可以阻止您启动正常(完整)下载并在获得所需数据后立即强制中断。

您需要做的就是关闭数据传输连接。这基本上是所有FTP客户端在最终用户决定中止传输时所做的事情。

此方法可能会导致FTP服务器日志中的错误消息很少。

如果您可以使用SFTP协议,那么它很简单。 SFTP原生支持这一点。