我正在使用cURL尝试下载某个目录中的所有文件.
这是我的文件列表:
我试过用bash脚本做的:iiumlabs.[].csv.pgp和iiumlabs *我觉得curl在通配符上并不大.
curl -u login:pass ftp.myftpsite.com/iiumlabs* -O
问题:如何使用cURL下载此文件目录?
好的,考虑到你使用的是Windows,最简单的方法就是使用与之捆绑的标准ftp工具.我将以下解决方案基于Windows XP,希望它在其他版本上也能正常工作(或稍作修改).
首先,您需要为ftp程序创建一个批处理(脚本)文件,其中包含相关说明.根据需要命名,然后输入:
curl -u login:pass ftp.myftpsite.com/iiumlabs* -O open ftp.myftpsite.com login pass mget * quit
第一行打开与ftp服务器ftp.myftpsite.com的连接.以下两行指定了登录,以及ftp要求的密码(替换登录并仅使用登录名和密码,没有任何关键字).然后,使用mget *获取所有文件.您可以使用任何通配符代替*.最后,使用quit关闭ftp程序而不进行交互式提示.
如果您需要先输入某个目录,请在mget之前添加cd命令.它应该非常简单.
最后,编写该文件并像这样运行ftp:
ftp -i -s:yourscript
其中-i禁用交互性(在下载文件之前询问),-s指定您创建的脚本的路径.
遗憾的是,Windows中本机不支持通过SSH进行文件传输.但是对于那种情况,你可能还是想要使用PuTTy工具.对于这种情况特别感兴趣的是pscp,它实际上是openssh scp命令的PuTTy计数器部分.
pscp -batch login@mysshsite.com:iiumlabs* .
如果使用密钥文件进行身份验证,则应使用-i path-to-key-file传递它.如果使用密码,-pw pass.它还可以使用load -load your-session-name参数重用使用PuTTy保存的会话.