【问题标题】:WinInet wrapper for FTP in DelphiDelphi 中用于 FTP 的 WinInet 包装器
【发布时间】:2011-10-09 11:24:34
【问题描述】:

请给点建议。我想在 WinInet 上的 Delphi 中开发 FTP / SFTP / FTPS 客户端下载管理器。有什么更好的方法(Indy、ISC Components、WinInet ...)?可能已经有了解决方案?

【问题讨论】:

  • WinInet 不支持 SFTP。

标签: delphi ftp sftp indy wininet


【解决方案1】:

您没有指定您的 Delphi 版本和目标平台(x64 和 MacOSX 在最新版本的 Delphi 中可用),所以这里有一些通用建议:

  1. WinInet: 根本不支持 FTPS,因此这为您排除了这种可能性。

  2. Indy: 与Delphi打包(免费),在Delphi最新版本中全面支持,成熟,应用广泛,使用同步模型(需要使用线程所以网络访问不锁定 GUI)。

  3. ICS Components:免费、成熟,目前显然不支持 Delphi XE2,因此没有明确的 x64 支持。被广泛使用的。使用异步模型(不需要线程,在 GUI 线程上使用回调)。

  4. Synapse:鲜为人知的库(免费),比上述两个更紧凑且易于理解。也有 FTPS 支持,最近没有更新,但在 Delphi 2007-2009 上工作正常。同步模型。

我与以上四个都合作过,很难推荐其中一个。它们都可以满足您的需求(WinInet 除外),它只是归结为您觉得更舒服或已经在您的应用程序中使用的模型(同步/异步),以及您需要什么级别的平台/编译器支持。如果您看不出选择 #3 或 #4 的任何理由,我会说选择 Indy,因为它与 Delphi 捆绑在一起,支持 x64/MacOSX,并且可能会在下一个中工作Delphi 的版本。

【讨论】:

  • 对于一个应用程序,我们也发现并评估了上述选项,但决定使用 putty.org 的 psftp.exe 并通过 CreateProcess 调用它,这是一种完全不同的处理方式,但提供我们正在寻找的稳定性和可配置性程度。
【解决方案2】:

我不记得确切的原因,但是当我们需要实现 sFTP 和 FTP 时,我们选择了 ipWorks (http://www.nsoftware.com/ipworks) 和 ipWorks SSL/SSH。虽然,我不是付钱的人,所以我并不担心费用。

这可能只是因为我们已经将 ipWorks 用于 FTP 部分。

【讨论】:

    【解决方案3】:

    我有一个 rotine 执行外部应用程序,这种情况下应用程序是 WinSCP。如果有必要我可以插入示例。

    【讨论】:

    • 这个答案并没有真正回答问题,请查看已批准的答案,看看是否可以添加更多内容
    • 请添加示例,否则您的答案不符合 Stack Overflow 上答案所需的格式。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 2023-03-11
    • 1970-01-01
    相关资源
    最近更新 更多