简洁版本:相当于
scp -3 http://user:[email protected]/somefile ftp://user:pass@ftpserver/my/path
详细版本:
+------+ +-------+ +-------------+ | HTTP +---------------> linux +-------------> FTP server | +------+ WWW +-------+ LAN +-------------+
- 我在网络上有一个 HTTP 资源。假设http://example.org/somefile
- 我有一台 Linux 主机 (RaspberryPi) 连接到以下 FTP 服务器
- 我有一个 FTP 服务器(mediacenter box)
我想通过linux主机将HTTP文件传输到FTP服务器。无需将整个文件存储在 Linux 主机上,只需充当端点之间的缓冲区
有什么简单的方法可以做到这一点?
谢谢
答案1
挂载ftp目录:
curlftpfs ftp.yourserver.com /mnt/ftp/ -o user=username:password
然后您可以轻松地将选定的文件下载到此文件夹:
wget http://user:[email protected]/somefile -O /mnt/ftp/your/path/somefile
最后卸载 ftp:
fusermount -u /mnt/ftp
答案2
最简单的方法可能是建立 SSH 隧道。您的机器通过 ssh 连接到 Linux 机器,然后这台机器将该隧道上的所有流量转发到第二台主机。在您的本地主机上打开了一个端口,您只需将 FTP 客户端连接到该端口,它就会被转发到 FTP 服务器。
ssh -L <localport>:<ftpserver>:21 user@<linux FQDN>