Http

使用沒有 RAM 記憶體的 curl 上傳大文件。

  • June 7, 2016

我正在使用 curl 將大文件(從 5 到 20Gb)上傳到基於 HDFS(Hadoop 集群)的HOOP ,如下所示:

curl -f --data-binary "@$file" "$HOOP_HOST$UPLOAD_PATH?user.name=$HOOP_USER&op=create"

但是當 curl 上傳大文件時,它試圖將它完全記憶體在 RAM 中,這會產生高記憶體負載。我嘗試使用應該禁用緩衝的-N標誌。man curl但是什麼也沒發生。所以我的問題是,有沒有辦法強制 curl 直接寫入套接字,或者你能告訴我另一個工具,它可以滿足我對簡單 HTTP POST/PUT 請求的需求。

我不會自己寫,因為它看起來一直像發明自行車。謝謝你。

可悲的是,根據 Daniel Stenberg 的說法,目前還不可能。

https://github.com/bagder/curl/issues/290

引用自:https://serverfault.com/questions/694067