关于如何在 Haskell 中下载大文件有什么建议吗?我认为 Http.Conduit 是这个库是一个很好的库。然而,它是如何解决这个问题的?它的文档中有一个例子,但它不适合下载大文件,它只是下载一个文件:
import Data.Conduit.Binary (sinkFile)
import Network.HTTP.Conduit
import qualified Data.Conduit as C
main :: IO ()
main = do
request <- parseUrl "http://google.com/"
withManager $ \manager -> do
response <- http request manager
responseBody response C.$$+- sinkFile "google.html"
我想要的是能够下载大文件并且不会耗尽RAM,例如在性能方面有效地做到这一点等。最好能够“稍后”继续下载它们,意思是“现在一部分,稍后另一部分” .
我还在hackage 上找到了 download-curl 包,但我不肯定这是一个很好的选择,甚至它会像我需要的那样逐块下载文件。