我在C中编程。我想使用libcurl从服务器(SFTP)下载特定目录。我知道我们可以使用以下选项下载文件,但如何下载目录。对于SFTP,也不支持wildcardmatch选项,以便我可以至少下载该目录中的所有文件。
curl_easy_setopt(curl, CURLOPT_WRITEDATA, fd);
平台:Linux
答案 0 :(得分:0)
您可能需要显式列出目录,并下载其中不是.
或..
的每个文件(可能在子目录上递归)。
首先发出一个列出目录的请求。然后构建(本地)由该请求获取的条目数组。然后,对于每个此类条目,您发出一个下载文件的请求,或者,如果它是[sub-]目录,则您在内部递归。
如果您的FTP服务器的另一个客户端在同一目录中添加或删除文件,您总会遇到问题。
BTW,一些FTP服务器能够例如如果您检索foo/
等,请归档整个目录foo.tar.gz
。