【发布时间】:2026-01-05 13:35:01
【问题描述】:
在 Google 上花了一些时间后,到目前为止我发现的只是 ChilKat,它只能在 Windows 上运行。我正在寻找可以在 Ubuntu 上运行的类似东西。显然有 NET::FTP、Net::SSH 和 Net::SFTP,所以我可以自己动手,这可能就是我要做的,但我希望通过使用已经存在的其他东西来节省大量时间写的。
【问题讨论】:
标签: ruby-on-rails ruby ftp sftp
在 Google 上花了一些时间后,到目前为止我发现的只是 ChilKat,它只能在 Windows 上运行。我正在寻找可以在 Ubuntu 上运行的类似东西。显然有 NET::FTP、Net::SSH 和 Net::SFTP,所以我可以自己动手,这可能就是我要做的,但我希望通过使用已经存在的其他东西来节省大量时间写的。
【问题讨论】:
标签: ruby-on-rails ruby ftp sftp
我也问过类似的问题:
How to transfer a binary file or any file to a remote server? - Ruby
我的结论与你的非常相似,目前唯一可用的方法是使用 Net::FTP、Net::SSH、Net::SCP(最简单的解决方案)和标准 TCP、UDP 协议。
后者(TCP、UDP)的问题在于,您必须编写自定义代码来对二进制文件进行切片和切块,并以可以将其作为“数据包”发送的方式打包,并在接收端您必须对其进行授权,验证并解压缩该死的数据包。这都是非常低级的计算,并且可能需要时间。除非您愿意花费大量时间进行实验,否则我建议使用 NET::SSH 或 SCP,它们是迄今为止最简单/最简单的解决方案。 (注意:在接收端需要一个 SSH 服务器!-Duh.. 但以防万一你不知道)
加上 SSH 服务器是相当标准的,安装它应该没有问题。
还有最后一个解决方案,您可以使用ruby-torrent。这是一个绝妙的想法,分享点点滴滴,它实际上可以更快地更新系统(See Here)。但请注意,该项目不是很更新,最后一次发布是在 2005 年。
希望有帮助
【讨论】:
如果是 ubuntu,为什么不在 ruby 中对 sftp 进行 bash 调用?
【讨论】: