使用Clojure发出HTTP请求

阿利斯泰尔77

我刚刚开始学习Clojure,并且在过去的几年中一直在努力应对API的更改。特别是在1.2中,contrib中有一个http-agent函数,它允许非常简单的HTTP请求:

 (http-agent "http..." :method "POST" :body "foo=1") 

该功能已被删除,似乎现在您应该使用clojure.java.io或第三方解决方案,例如http-kitclj-http

我真的很惊讶,因为它java.io看起来很底层,并且失去了简单性或http-agent,发出http请求似乎应该放在核心库集中(我意识到这是非常主观的)。

删除http-agent的理由是什么?它不符合Clojure的核心哲学吗?对于用于基本HTTP请求的最佳库,有哪些建议

米歇尔·马尔奇克(MichałMarczyk)

对于旧的contrib的任何特定部分未能加入新的contrib的原因,我无法做出权威性的陈述,但是总的来说,当有足够多的人感兴趣时,事情就转移了,包括一些有能力并愿意维护新库的人。也许在这种情况下,根本没有足够的兴趣。

此外,在多个库之上构建Clojure项目非常简单,而且不清楚核心库或contrib组中是否存在http客户端库是否会使开发人员比他们更容易和/或更容易现在,在更广泛的生态系统中提供了出色的选择。

对于此类出色选项的特定示例,我将带您指向clj-httphttp.async.client(按字母顺序;哪种合适取决于您是否会从异步发出请求中受益)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章