我正在尝试在Clojure中编写一个http文件下载器,在我的其他一个问题中,有人评论说使用专用的http客户端库比使用Clojure和Java自己的api编写代码更好.我做了一些研究并发现了一些,但我无法弄清楚每个的功能,优点和缺点.因此,如果某人可以解释他们的不同之处以及哪一个与我的项目很匹配,那将非常感激.:-D
最初使用Java的库以及相应的Clojure包装器:
Apache HttpClient及其Clojure包装器clj-http
Apache HttpAsyncClient并没有找到任何Clojure包装器.
Async Http Client及其Clojure包装器http.async.client
最后但并非最不重要的,一个Clojure库:
Grz*_*ywo 10
我只能比较http-kit和clj-http.
CLJ-HTTP:
HTTP的试剂盒:
如果你关心依赖关系,http-kit可能是一个更好的选择,因为它是一个独立的库,除了clojure.core之外没有其他依赖关系.因此,它会产生更小的uberjars.对于示例HTTP GET项目:
clj-http:
1.2M clj-http-test-0.1.0-SNAPSHOT.jar
6.7M clj-http-test-0.1.0-SNAPSHOT-standalone.jar
http-kit:
65K http-kit-test-0.1.0-SNAPSHOT.jar
3.8M http-kit-test-0.1.0-SNAPSHOT-standalone.jar
Run Code Online (Sandbox Code Playgroud)
另一方面,如果您更愿意相信经过测试的Apache HttpComponents并且可能更好地支持更大的Java社区,您可以选择clj-http.
因为我没有使用所有库,所以我不打算对你发布的库进行全面比较.但是之前我使用过http-kit库,它真的很棒.
http-kit很容易使用,顺便说一下clj-http库之后的模型,它确实非常高效.虽然这种比较不是直接与你的问题有关,但它仍然可以解释一下:TechEmpower Frameworks第2轮
| 归档时间: |
|
| 查看次数: |
4950 次 |
| 最近记录: |