获取文件curl的列表

get list of files Curl

本文关键字:列表 curl 文件 获取      更新时间:2023-10-16

我想使用curl从服务器上下载 *.txt文件,但不幸的是我不明白该怎么做,因为我在curl中的初学者,虽然我要从中使用递归迭代器boost ::文件系统,也许您有任何解决我的问题的方法?谢谢)

boost::filesystem仅与本地计算机上的文件路径以及本地网络上的UNC路径一起使用。您不能将其用于通过Internet的迭代远程文件。

如果文件位于HTTP服务器上,则libcurl 无法直接迭代文件,因为该功能不是HTTP协议的一部分。您的唯一希望是,如果您在请求文件所属于的实际目录的URL时,HTTP服务器提供了包含文件列表的HTML文件(或其他格式)。但是,出于明显的安全原因,许多HTTP服务器禁用此功能!大多数服务器都将重定向到特定文件,例如index.htmlindex.phpdefault.aspx等单个文件,然后您可以根据需要下载它们。

如果文件位于FTP服务器上,则更可取,因为目录列表是FTP协议的一部分,并且Libcurl可以检索FTP目录列表(请确保请求的URL以BackSlash结束,以便Libcurl SO LIBCURL知道A知道A请求目录,而不是特定文件)。但是,您负责解析列表数据,FTP服务器决定发送的任何格式都可以使用(并且各种在线FTP服务器使用了许多许多清单格式!)。现代FTP服务器支持FTP MLSDMLST命令(与原始LIST命令相对),以促进易于解析列表数据,因此,如果FTP服务器支持这些命令,则可以尝试使用这些命令(通过libcurl的CURLOPT_CUSTOMREQUEST选项)来尝试使用这些命令。或者,如果您仅对文件名而不是文件详细信息(例如时间戳,尺寸等)感兴趣,则可以使用FTP NLST命令(通过Libcurl的CURLOPT_DIRLISTONLY选项)。