【问题标题】:Parsing HTTP multipart response body in Ruby (outside Rack)在 Ruby 中解析 HTTP 多部分响应正文(机架外)
【发布时间】:2017-07-06 02:18:38
【问题描述】:

我正在尝试使用 RestClient 和 Faraday 来查询在多部分响应中返回多个文件的端点。如何解析响应正文中的多部分信封? Rack::Utils::Multipart.parse_multipart 会这样做,但就我而言,这是在 Rack 之外。如果有帮助,我愿意使用不同的 HTTP 客户端。

【问题讨论】:

  • 嘿,你有没有得到这个?我也面临同样的问题。
  • @Stewart 还没有。我只是有一些自定义代码在做。
  • @AkshayRawat 你写了一些代码吗?
  • 你看parse_multipart方法源码了吗?你可能会采用它来为你工作。 rubydoc.info/gems/rack/1.2.5/Rack/Utils/Multipart
  • 你检查过github.com/savonrb/httpi吗?它提到了多部分响应,但我没有仔细观察它是否能处理所有问题。它是几个不同 http 客户端的包装器。

标签: ruby-on-rails ruby rack rest-client faraday


【解决方案1】:

几乎没有一个流行的 HTTP 客户端(几乎所有语言)都处理来自服务器的多部分响应。事实上,如果您可以轻松找到具有内置多部分响应功能的 HTTP 服务器,我会感到惊讶。这不是一个常见的用例。

不过,您会发现反之亦然,大多数 HTTP 服务器处理从客户端构建的多部分响应。

好消息是“multipart”只是像 XML 或 JSON 这样的内容类型,因此在您使用自己喜欢的 HTTP 客户端发出请求后,您应该能够将任何旧的 multipart 解析器附加到响应正文。

需要考虑的一些解析器:

【讨论】:

    猜你喜欢
    • 2014-09-17
    • 2016-02-01
    • 2015-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多