使用远程客户端的 HTTP 到 FTP

使用远程客户端的 HTTP 到 FTP
  • 简洁版本:相当于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>

相关内容