使用cURL命令从SFTP服务器获取.listing文件的命令是什么

时间:2013-09-12 12:20:53

标签: linux curl ftp wget sftp

在wget中我试图使用下面的Wget命令从FTP服务器获取文件及其属性列表,

wget --no-remove-listing ftp://myftpserver/ftpdirectory/

这将生成两个文件:.listing(这是我在cURL中看到的)和index.html,它是列表文件的html版本。

我的期望: 在cURL中如何实现这种情况? 从FTP / SFTP服务器使用CURL 获取.listing和index.html文件的命令是什么。

2 个答案:

答案 0 :(得分:2)

这是我在http://curl.haxx.se/docs/faq.html#How_do_I_get_an_FTP_directory_li

上找到的

如果您使用斜杠结束请求的FTP URL,libcurl将为您提供该给定目录的目录列表。您还可以设置CURLOPT_CUSTOMREQUEST以更改libcurl用于列出文件的确切列表命令。

跟随前一个问题的后续问题是程序应该如何解析目录列表。它是如何知道什么是文件,什么是dir以及什么是符号链接等等。严酷的现实是FTP没有提供如此精细且易于解析的输出。 FTP服务器响应LIST命令的输出格式完全由服务器自己喜欢,NLST输出不显示任何类型,在许多情况下甚至不包括所有目录条目。此外,默认情况下,LIST和NLST都会隐藏unix样式的隐藏文件(以点开头的文件),因此您需要执行“LIST -a”或类似操作才能看到它们。

谢谢&问候,
阿洛克

答案 1 :(得分:0)

我在WIN-> CygWin上查了一下它对我有用: 不要忘记在路径的末尾使用'/'。

$ curl -s -l -u test1@test.com:Test_PASSWD --ftp-ssl'ftps://ftp.test.com/Ent/'