1

我是 Cocoa 中 FTP 连接编程的新手。我找到了 2 个库,我可以选择它们来制作我的应用程序,但我不知道这些库之间最好的是什么。这些库是libcurlchilkat。问题是每个图书馆有什么好处?有人比较过吗?或者也许有人可以告诉我你的经历吗?谢谢

4

3 回答 3

2

我没有任何使用 chilkat 的经验,但我可以告诉你 libcurl 在很多编程语言中都使用过,并且可以在很多系统上使用。例如在 PHP 或 Mac 上 curl 是一个很好的工具。

因此,如果 libcurl 在您的平台上可用,我会建议它。您可能会找到有关 curl 的更多信息,并且它已在许多其他平台上证明了自己。

如果您想使用 curl,那么 curlhandle也很有趣。它是 curl 库周围的可可包装器。在你的情况下可能非常方便,但我没有这方面的经验。

于 2011-05-25T21:39:40.677 回答
1

我可以告诉你 libcurl 和 chilkat 的区别是这样的:(虽然你现在可能已经知道了)

Chilkat 就像您在商店购买的国际象棋游戏,而 libcurl 就像您购买的液态塑料,您可以用它制作任何棋子。

Libcurl 是一个稍微抽象的套接字连接器,Chilkat 处理你所做的一切,直到一定数量,与那个连接。你要么盯着比特,要么是“把这些比特变成了电子邮件”。我打算为一些库购买 Chilkat,我喜欢这些功能,但同时我希望我有时间阅读 RFC 并使用 libcurl 玩其他东西。任何人,希望这个答案对某人有价值。

于 2012-12-17T02:00:05.323 回答
0

因为这个问题在谷歌上仍然排名很高,所以我给你我的经验。我在 2015 年购买了 chilkat,后来搬到了 libcurl,我自己的实现也很晚。两者都远非完美。libcurl 只是显示它的年龄和一些薄弱的设计。

libCurl 是一个库,它试图实现所有支持 URL 的协议,即使它们被设计为像 FTP 这样的流协议。帮自己一个忙,仅将其与 HTTP/HTTPS 一起使用。它只是做传输部分。这不足以处理。您希望至少看到 mime 和 charset 例程来使用下载的文件。

Chilkat 是一个顶级库,它试图为您提供尽可能多的高级访问权限。它在不容易使用的脚本语言中使用后台线程。问题是 API 很糟糕,文档很少,而且当您想编写高质量的程序时完全失败。例如,它将请求作为字符串返回。没有办法进行流处理。现在想象一下你下载了一个大 GB 的 iso 文件,你不会高兴的。它可以作为文件返回,但是当您不知道下载大小时,您必须在请求开始时指定它。

此外,在证明其他情况之前,代码质量也很差。你可以通过谷歌找到一些野外的 chilkat 源代码片段,它们纯粹是疯狂的。好吧,我们现在不知道这个旧代码是如何被重构的。但它留下了不好的味道,记住这是封闭源代码,没有提到极端情况,实现了哪个协议,实现了协议的哪些特性等等。您正在使用一个完全黑匣子。

它也不允许高性能和高价值的代码。我用它写了一个网络爬虫,它比 libcurl 慢得多。

后来我使用了 HTTP 和 SSH 组件来自动化一些服务器/客户端管理脚本,它在那里大放异彩。您了解双方,可以测试他们是否一起工作并且不会有任何意外。那么它确实比使用损坏的 python 或 ruby​​ SSH 更容易更好。

但是,如果您曾经联系过另一个未知服务器,那么 Chilkat 就不是您的图书馆。

于 2019-12-03T18:54:06.813 回答