【发布时间】:2016-08-31 18:17:17
【问题描述】:
在我的应用程序中,我将 curl.exe 作为外部命令执行以从 FTP 文件夹中获取文件列表。我需要将多个文件夹扫描到列表中,所以我多次调用此命令将文件列表输出到本地目录。
curl ftp://my-ip:port/path/1234/ --user 用户名:密码 --list-only -o C:\localfolder\1234.txt
curl ftp://my-ip:port/path/8910/ --user 用户名:密码 --list-only -o C:\localfolder\8910.txt
所以我每个目录都有 1 个文件。我们不能使用通配符模式列出所有必需目录中的文件,因为它们没有模式,只是随机整数。
在大多数情况下,我需要扫描 200 个导演,但在某些情况下,我需要扫描几千到 9000 个(最多)。我对它没有任何问题,因为它运行完美,没有任何问题。除了在某些极端情况下,由于网络故障,我不会从 1 或 2 个目录中获取列表。
现在我正在考虑优化。这里可以做两个优化
我的应用程序级优化:我将创建一个包含多个调用的动态 bat 文件,而不是多次调用 curl.exe,这样我的应用程序将只调用一次,而批处理文件将具有实际的 curl 调用。
Curl 连接池: 如果 curl.exe 可能的话,这就是我正在寻找的内容。我前段时间在某处读到 curl 库像 PHP 一样支持连接池,但我不确定 curl 是否支持可执行文件具有该功能。如果我可以利用此功能(如果有的话),这可能是很好的性能改进。
【问题讨论】: