【问题标题】:Erlang HTTP Client: inets or ibrowse or ...?Erlang HTTP 客户端:inets 或 ibrowse 或 ...?
【发布时间】:2011-07-09 16:30:28
【问题描述】:

我正在使用 Erlang,需要发出高效的 HTTP 请求。

Erlang/OTP 当前的“标准”HTTP 客户端是什么?

是 inets 还是 ibrowse 或完全是其他的东西?

任何建议或指针表示赞赏。

【问题讨论】:

    标签: erlang erlang-otp inets


    【解决方案1】:

    目前,一个 FTP 客户端和一个 HTTP 客户端和服务器已被整合到 Inet 中。 Inets 只是一个网络服务器。 Inet 中的一些 Http 客户端是 Inets Http(d),它是 Http 1.1 的实现。

    我以前用过 ibrowse,它是一个 http 1.1 客户端。您可以使用 ibrowse 发出 http 请求。 打开您的 Erlang 终端并启动 ibrowse,但请确保您在 C:\Program Files\Erlang\lib 上的 Erlang lib 文件夹中有 ibrowse 文件夹。 在你的 Erlang 终端类型中。

    ibrowse:start()。 然后,像这样发出http请求。 ibrowse:send_req("http://ajax.googleapis.com/ajax/services/search/web?v=1.0&q=animal", [], get)。

    【讨论】:

      【解决方案2】:

      我们正在使用 lhttpc,它非常适合我们的用例,但我们还没有对替代方案进行广泛的基准测试。当然,“标准”是 OTP 附带的(来自 inets 的 httpc)。

      【讨论】:

      • 是的,lhttpc 相当不错。我们发现它可在多核上扩展。最好的是,它很新而且很小——易于追踪,没有内存泄漏等。我不知道 ibrowse,但我已经完成了 httpc。
      • inets 似乎在最近的 OTP 版本中受到了很多人的喜爱,并且支持一堆 lttpc 中未包含的东西。
      【解决方案3】:

      如果我没记错的话,inets 是 OTP 内置的 HTTP 服务器,所以它或多或少是“标准的”。然而,在实践中,我认为它并不优于其他 HTTP 服务器(mochiweb、yaws 等)

      【讨论】:

      • 问题是关于 http 请求,而不是响应,因此服务器无关紧要。
      • 还专门问了inets,所以不用downmark
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      • 2011-06-15
      • 2011-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多