新手问题 Ruby HTTP 客户端应该选哪个?

steve · 2019年06月10日 · 最后由 WalkPhoneGo 回复于 2019年06月13日 · 2560 次阅读

找了一下 ruby http 客户端,有 https://github.com/lostisland/faraday https://github.com/jnunemaker/httparty

在 2019 年,大家都用什么 ruby http 客户端?

net/http

@gaotongfei 看介绍 http.rb 性能不错

如果是自己开发 gem 包,我会直接使用标准库的包 net/http,目的是减小包的依赖,尽可能轻量。如果是开发的项目,如果是依赖链里边已经有可用的 http 包,我就会直接使用那个包。所以,faraday、httparty、rest-client 这些我都用过,因为维护过的项目都用过。

@martin91 谢谢。是开发项目

steve 回复

如果是简单的需求,比如对外部服务请求方式单一,我觉得 net/http 够了,否则,我觉得哪个轻量用哪个,或者是哪个的设计简单用哪个,这会决定后面你排查问题的难易程度。一般来说,库本身性能是我最后考虑的因素,毕竟对于一个外部请求来说,如果不是很高频,代码本身的性能根本不是什么明显的影响因素。

Gem 最小依赖原则 net/http 挺好,图省事可以用 Faraday

steve 回复

我喜欢它的 API 设计,以及 chainable 的特性

这里有一篇博客,介绍了 http.rb 的优点:https://twin.github.io/httprb-is-great/

选择 http.rb 你不会后悔

同意楼上,http.rb 我用了很久,没啥坑,除了一个。。。

只是写脚本随便扒点文件的话 net/http。如果是做项目要拉 API 请求的话法拉第挺好。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号