使用 cURL 从 FTP 下载文件

Jos*_*iah 28 ftp download curl

我正在尝试使用 cURL 命令将文件从 FTP 服务器下载到我计算机上的本地驱动器。我试过了

curl " ftp://myftpsite " --user name:password -Q "CWD /users/myfolder/" -O "myfile.raw"

但它返回一个错误,指出:

curl:远程文件名没有长度!
curl:尝试“curl --help”或“curl --manual”以获取更多信息
curl:(6)无法解析主机:myfile.raw;没有请求类型的数据记录

我尝试了其他一些方法,但似乎没有任何效果。

另外,我不太确定如何指定我希望将文件下载到哪个文件夹。我该怎么做?

use*_*686 33

尝试

curl -u user:password 'ftp://mysite/%2fusers/myfolder/myfile/raw' -o ~/Downloads/myfile.raw
Run Code Online (Sandbox Code Playgroud)

在 FTP URL 中,路径相对于起始目录(通常是您的 homedir)。您需要指定一个绝对路径,这意味着使用%2f来指定/. 这是必需的,因为ftp:URL 中的路径被视为以斜杠分隔的名称列表,每个名称都应该被赋予一个单独的CWD命令。该%2f解码分裂。请参阅RFC 1738FTP URL

至于输出位置,只要给出一个路径即可-o


安全建议:

  • 不要将您的密码放在 URL 中。将它存储在其中~/.netrc也不是特别安全,但至少它是隐藏的ps -ef

  • 您的密码以明文形式发送。如果服务器支持它,请使用curl --ssl-reqdcurl ftps://mysite/...

  • 使用 SFTP(SSH 文件传输协议)会更好。