7

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 パッケージも見つけましたが、これが適切であるか、必要なようにファイルをチャンクごとにダウンロードするかについては確信が持てません。

4

2 に答える 2