我需要获取FTP上的文件列表。我写了下一段代码,但它在启动时崩溃了。
void main()
{
string ftpserver = "myftpserver";
string ftplogin = "username";
string ftppass = "pass";
auto ftp = FTP(ftpserver);
ftp.verbose(1);
ftp.setAuthentication(ftplogin, ftppass);
ftp.addCommand("LIST");
ftp.perform();
}
addCommand的问题,因为如果删除它App启动,显示FTP root dir然后退出。
确定。命令发出但如何得到它的结果? addCommand的类型为void。
P.S。我无法理解为什么在连接后立即退出?
答案 0 :(得分:1)
尝试从" LIST"更改addCommand()
(不是有效的FTP命令)到" LS"或" ls" (他们在某些网站上的表现不同)。
我不确定D
的所有curl
绑定 - 您通常可以通过调用perform()
获得curl_getinfo()
的结果。我知道D
至少对这些具有约束力:
CURLcode curl_easy_perform(CURL *curl);
CURLcode curl_easy_getinfo(CURL *curl, CURLINFO info,...);
这可能是一个更好的选择,无论如何,取决于您的需求。
答案 1 :(得分:0)
问题在于ftp.perform
,好的不是方法本身,因为frasnian说问题是LIST
命令。但是,如果您在documentation上查看方法perform
,则应将ThrowOnError throwOnError
视为此方法的第一个参数。因此,您可以将其删除或放入try catch
块。
但这仍然无法解决你的错误命令问题。
答案 2 :(得分:0)