【问题标题】:Stream large http response to disk in Erlang with httpc lib使用 httpc lib 将大型 http 响应流式传输到 Erlang 中的磁盘
【发布时间】:2020-08-07 02:57:19
【问题描述】:

httpc:request(get, {URL, []}, [], [{stream, FilePath}]) 会返回 {ok, saved_to_file},即使远程 Web 服务在流式传输响应时中途终止。我检查了磁盘上的内容是否丢失了一大堆数据。这是一个已知的怪癖和预期吗?

【问题讨论】:

  • 我正在使用 OTP-22.1。我也尝试过{sync, false} 选项,但没有任何区别。
  • 你可以使用cowboy_req,它对我有用。

标签: erlang streaming erlang-otp httpc


【解决方案1】:

我提交了bug-report,OTP 团队的答复表明这是一个错误(至少对于当前的 HTTP 规范而言):

我认为这是由于客户端具有向后兼容性 与将关闭连接以指示所有数据的服务器 已经发送了。可能这应该只针对旧的 HTTP 协议的版本,或者它可能会被丢弃...... - Ingela Anderton Andin

【讨论】:

    猜你喜欢
    • 2018-02-19
    • 2022-01-06
    • 1970-01-01
    • 2012-04-02
    • 2011-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-26
    相关资源
    最近更新 更多