如何使用 cURL 下载 FTP 服务器中某种文件类型 (.txt) 的所有文件?

如何使用 cURL 下载 FTP 服务器中某种文件类型 (.txt) 的所有文件?

我正在尝试下载.txtftp 服务器中的所有文件。主要用途或任务是使用通配符,而不是特定的文件名。

下载单个文件使用以下命令:

curl --user user:password "ftp://websiteadress/FileZillaTest.txt" --output FileZillaTest.txt

我正在尝试使用通配符 (*) 下载所述目录中的所有 .txt 文件。到目前为止,我尝试过以下方法:

curl --user user:password "ftp://websiteadress/*.txt" --output *.txt

curl --user user:password "ftp://websiteadress/" --output *.txt

它显示了一瞬间的下载,但随后返回:

curl: (56) Recv failure: Connection was reset

这些文件没有被下载,正常情况下它们应该在 System32 文件夹中,就像我FileZillaTest.txt成功下载时一样(我不知道如何将文件发送到特定目录,但这不是当前的主要问题。)

有人能帮助我吗?

编辑:我确实连接了,并且“连接已重置”错误仅有时发生。

我收到与下载 FileZillaTest.txt 时相同的下载提示,但没有下载。

这是令人困惑的部分,当 filezilla 下载时,它显示 100%,这可能意味着已下载 100%,但是当我对 *.txt 执行此操作时,它停留在 0% 并且提示立即结束。

更新:

我已经能够成功下载单个文件。

我需要能够下载FileZilla(number).txt此位置的所有文件,但尚未成功。

下载所有文件的命令被识别

curl --user user:password "ftp://websitename/FileZillaTest002.txt" --output FileZillaTest002.txt

curl --user user:password "ftp://websitename/FileZillaTest001.txt" --output FileZillaTest001.txt

curl --user user:password "ftp://websitename/FileZillaTest001.txt" --output FileZillaTest*.txt

curl --user user:password "ftp://websitename/" --output FileZillaTest*.txt

我已将这些全部放入 .bat 文件中,这样我就可以看到哪些有效,哪些无效。

除最后一个之外,这些都有效,它应该FileZilla(number).txt在那个位置下载所有内容,但遗憾的是下载停留在 0%,没有错误代码。

有人有什么建议吗?

答案1

在 wget 或 curl 查询中使用通配符

您不能使用通配符,wget但该-A标志应该有效。从wget 手册页

您想要从 http 服务器上的目录中下载所有 gif。您尝试过wget http://www.server.com/dir/*.gif,但没有成功,因为 http 检索不支持通配符。在这种情况下,请使用: wget -r -l1 --no-parent -A.gif http://www.server.com/dir/

对于您而言,使用-A.txt

相关内容