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

steve · June 10, 2019 · Last by WalkPhoneGo replied at June 13, 2019 · 2535 hits

找了一下 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 谢谢。是开发项目

Reply to steve

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

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

Reply to steve

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

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

选择 http.rb 你不会后悔

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

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

You need to Sign in before reply, if you don't have an account, please Sign up first.