我是Cocoa中FTP连接编程的新手。我找到了2个库,我可以选择制作我的应用程序,但我不知道这些库之间最好的是什么。这些库是libcurl和chilkat。问题是每个图书馆的好处是什么?有人比较一下吗?或者也许有人可以告诉我你的经历吗?谢谢
答案 0 :(得分:2)
我对chilkat没有任何经验,但我可以告诉你,libcurl在许多编程语言中使用,并且可以在很多系统上使用。例如,PHP或Mac上的卷曲是一个很好的工具。
所以如果你的平台上有libcurl,我会建议你。您可能会找到有关curl的更多信息,并且已经在许多其他平台上证明了这一点。
如果你想要卷曲,那么也很有趣curlhandle。它是curl库周围的可可包装器。在你的情况下可能非常方便,但我没有经验。
答案 1 :(得分:1)
我可以告诉你,libcurl和chilkat之间的区别是这样的:(虽然你现在可能知道了)
Chilkat就像你在商店购买的国际象棋游戏一样,libcurl就像你购买的液体塑料,你可以制作任何棋子。
Libcurl是一个稍微抽象的套接字连接器,Chilkat使用该连接处理你所做的一切,直到一定数量。你要么盯着那些“将这些东西变成电子邮件”的东西。我准备为一些libs购买Chilkat,我喜欢这些功能,但同时我希望我有时间阅读RFC并使用libcurl玩其他东西。 Anywho,希望答案对某人有价值。
答案 2 :(得分:0)
因为这个问题在Google上的排名仍然很高,所以我给你我的经验。 我在2015年购买了chilkat,后来又转移到libcurl,后来又转移到我自己的实现中。两者都不完美。 libcurl只是显示它的年龄和一些较弱的设计。
libCurl是一个库,它尝试实现所有支持URL的协议,即使它们被设计为FTP之类的流协议。帮个忙,仅在HTTP / HTTPS中使用它。它只是做转移的一部分。这还不够处理。您可能希望至少看到mime和charset例程才能使用下载的文件。
Chilkat是一个顶层库,试图为您提供尽可能多的高层访问。它使用不易使用的脚本语言的后台线程。问题在于,当您要编写质量程序时,API太糟糕了,没有文件记载,并且完全失败了。例如,它以字符串形式返回请求。无法进行流处理。现在想象一下,您下载了一个较大的GB iso文件,您将不会感到高兴。它可以作为文件返回,但是如果您不知道下载大小,则必须在请求开始时指定它。
同样,除非经过证明,否则代码质量不好。您可以通过Google在野外找到一些chilkat源代码片段,它们纯属疯狂。好的,我们现在不知道这个旧代码是如何重构的。但这会留下不好的味道,请记住,这是封闭的源代码,并且没有一一提及极端情况,实现了哪些协议,实现了协议的哪些功能等等。您使用的是黑匣子。
此外,它不允许使用高性能和高价值的代码。我用它编写了一个Web搜寻器,它比libcurl慢得多。
后来,我使用HTTP和SSH组件来自动化一些服务器/客户端管理脚本,而它的确如此。您知道双方,可以测试他们是否一起工作,不会感到惊讶。然后,确实很容易并且比使用损坏的python或ruby SSH更好。
但是,如果您曾经与其他未知服务器联系,则Chilkat并不是您的图书馆。